УФ. Как заполнить ТЧ оброботки на сервере без контекста вызванного из клиента? #656192


#0 by simol
Есть обработка с двумя табличными частями. На УФ формы две таблицы отображающие эти ТЧ. Одна заполняется при открытии по данным базы. Она большая. Пользователь в УФ может ее редактировать. При активации строке строки в этой таблице (исходя из данных строки) заполняется вторая таблица. Все по функционалу работает. При активации строки вызывается серверная процедура с контекстом, которая заполняет вторую таблицу. НО! При вызове серверной процедуры с контекстом, по причине большой первой таблицы, происходит задержка на передачу контекста. Как можно исторгнутся с серверной процедурой без контекста, чтобы передать ей данные текущей строки первой таблицы и она заполнила вторую таблицу?
#1 by simol
исторгнутся  = изгольнуться
#2 by НЕА123
передать через параметры ?
#3 by Жан Пердежон
ответ же в уже есть, передавай только нужные параметры
#4 by simol
Я не могу в параметры вызова функции вставить Объкт.ТЧ, так как тип "ДанныеФормыКоллекция" не передается с клиента на сервер. А с сервера Таблица значения на клиент не возвращается.
#5 by НЕА123
зачем Объкт.ТЧ? достаточно ведь данные строки. возвращай через структуру.
#6 by simol
Вариант возвращаемую таблицу на сервере преобразовывать в массив структур и на клиенте структуры из массива добавлять по построчно в таблицу рассматриваю, но это кажется мне костылем.
#7 by НЕА123
согласен. но на ум больше ничего не приходит...
#8 by MSII
Чтобы не казалось костылем, надо написать серверную и клиентскую функции, которые будут, соответственно, упаковывать переданные данные в массив структур и распаковывать этот массив, создавая строки табличной части. Дальше во всех аналогичных случаях пользоваться этими функциями.
#9 by simol
Очень надеюсь, что кто-то обрадует что уже можно на клиенте тип ТаблицаЗначений :)
#10 by MSII
Давно ли? Я где-то с УФ с 14-й платформы не работаю, не в курсе. А на 14-й вернуть ТЗ, как она есть, с сервера на клиент не представлялось возможным.
#11 by simol
ТЗ есть только в в толстом клиенте. А загрузить ТЗ в ТЧ можно только на сервере, на клиенте доступно построчное добавление.
#12 by simol
Общий модуль так и назвал "КостылиДляУФ" Задержку удалось победить таким способом.
#13 by Команданте
у тебя активизация строки не отлажена
#14 by Команданте
нельзя вызывать при активизации строки серверную процедуру с контекстом
#15 by Команданте
#16 by Команданте
в худшем случае, елси это не прокатит &НаКлиенте где ТекНоменклатуры реквизит формы заменить на нужный реквизит ДС
#17 by Команданте
скинь код, товарищ массив структур
#18 by Aleksey
#19 by Команданте
откуда на клиенте ТЗ
#20 by Aleksey
Да пофиг ТЗ это или ТЧ
#21 by Команданте
у тебя путаница с клиентом-сервером. не обязательно делать массив структур (хотя ут 11 этим пользуется часто) всё дело в стиле вызова
#22 by Команданте
ты скинь код, а не огрызок
#23 by simol
В активации у меня идет проверка на повторный вызов, потому зацикливания нет.
#24 by simol
Модуль _КостылиУФ
#25 by simol
ТЧРаспределяемоеПриАктивизацииСтрокиНаСервере
#26 by simol
Совсем не пофиг. Оказалось и ".Колонки" даже нет.
#27 by simol
Мне в в током клиенте с клиентской процедуры УФ в серверную процедуру без контекста нужно передать ДанныеФормыКолекция.
#28 by simol
Вылезла бяка - неявный вызов сервера с контекстом после обработчика Активация строки. Буду искать причину.
#29 by simol
Наше, устранил. Серверные функции с контекстом это зло!!!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С