Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Табличный документ, на веб клиенте.

Табличный документ, на веб клиенте.
Я
   SkillUp
 
26.01.21 - 11:37
Здравствуйте, столкнулся с проблемой не знаю что и делать.

Есть алгоритм:
&НаКлиенте
Процедура ...
Если ТипЗнч(ТД) = Тип("ТабличныйДокумент") Тогда
        #Если ВебКлиент Тогда
                // если веб клиент.
            ТабличныйДокумент = ТД;
            #Иначе
                // если тонкий клиент.
               ТабличныйДокумент = ТД;
            #КонецЕсли        
КонецЕсли;

КонецПроцедуры.

На тонком клиенте все отлично отлично, сформированный ранее табличный документ, присваивается в строке (ТабличныйДокумент = ТД;). И в пользовательском режиме, пользователю показывает заполненный табличный документ.

На веб клиенте, показывает не заполненный табличный документ. Если сделать вызов сервера, и передать ТД на сервер и присвоить там ТД, то тоже показывает заполненный табличный документ, как на тонком клиенте.

&НаСервере
Процедура ТДСервер(ТД)

    ТабличныйДокумент = ТД;    
    
КонецПроцедуры

Да, все работает, если через серверный вызов. НО! Слишком медленно работает на веб клиенте. И желательно как-то правильно присвоить сформированный ТД, еще на клиенте и без лишних вызовов сервера. А как правильно сделать это? Или из-за чего может быть проблема с ТД? Почему на тонком клиенте ("ТабличныйДокумент = ТД"), все нормально работает, а на вебе такое не прокатывает?
   SkillUp
 
1 - 26.01.21 - 11:46
Еще сложность, что этот весь код в общей форме.
   fisher
 
2 - 26.01.21 - 11:55
Никогда не сталкивался, потому что всегда на сервере присваивал. Непонятно, зачем ты ТД на клиент отдельно вытягиваешь. Формируешь-то все равно на сервере. Почему сразу там и не присвоить реквизиту?
Но если все-таки сабж, попробуй ОбновитьОтображениеДанных()
   Малыш Джон
 
3 - 26.01.21 - 11:59
Ну где-то же ТД формируется? Там же и ТабличныйДокумент формируй.
   Guk
 
4 - 26.01.21 - 11:59
никогда не понимал, зачем в если и иначе вставляют один и тот же код...
   SkillUp
 
5 - 26.01.21 - 12:05
Это общая форма - "ПечатьДокументов" , пользователь выбирает какой ТД напечатать. Табличные документы уже все есть сформированные.  Вот как вывести табличный документ заполненный (пользователю на экран), проблемка.
   SkillUp
 
6 - 26.01.21 - 12:05
На вебе*
   SkillUp
 
7 - 26.01.21 - 12:07
И себе самоуму интересно, почему на тонком клиенте (в процедуре наклиенте) -ТабличныйДокумент = ТД , все работает, на вебе не работает...
   SkillUp
 
8 - 26.01.21 - 12:08
(4) Это для объяснения проблемы.
   SkillUp
 
9 - 26.01.21 - 12:09
(2) Ну на тонком клиенте (&НаКлиенте) работает же...
   Пузан
 
10 - 26.01.21 - 12:13
Как бы ежу понятно, что браузер - это не тонкий клиент и не умеет почти ничего кроме как показать готовый HTML и выполнить какой-нибудь сценарий Javascript. Поэтому логично, что все для вэба формируется исключительно на сервере, а тонкий многое умеет делать сам.
   Пузан
 
11 - 26.01.21 - 12:14
А еще можно в синтаксис помощнике посмотреть где доступен ТабличныйДокумент, скорее всего вэб-клиента там нет.
   SkillUp
 
12 - 26.01.21 - 12:16
(11) Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
   fisher
 
13 - 26.01.21 - 12:22
(9) Ты просто делаешь лишние телодвижения. Вытягиваешь ТД на клиента вне контекста формы, потом пишешь в контекст формы (после чего еще будет синхронизация этого контекста на сервер). Зачем?
ЗЫ. ОбновитьОтображениеДанных() пробовал?
   SkillUp
 
14 - 26.01.21 - 12:34
(13) Сейчас тестирую...
   SkillUp
 
15 - 26.01.21 - 12:51
(13) ОбновитьОтображениеДанных()  И Этаформа.ОбновитьОтображениеДанных() и указывал что обновлять. Табличный документ с не заполненными полялми... (
   fisher
 
16 - 26.01.21 - 12:55
(15) Ну, значит багофича. Можешь подготовить демонстрацию проблемы и связаться с техподдержкой, чтобы проблему зарегали.
Но, походу, эта проблема никого кроме тебя не парит :) Уже писал, почему.
   SkillUp
 
17 - 26.01.21 - 12:56
(16) Ок. Спасибо! )
   fisher
 
18 - 26.01.21 - 12:58
Только проверь на последнем релизе. А то вдруг уже пофиксили.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.