Имя: Пароль:
1C
1С v8
Общие данные доступные из разных форм одной обработки (Структура как реквизит обработки).
0 Йоссариан
 
07.02.18
19:12
Для определенности скажем, что речь об обработке для приема товара по поступлению на складе.
Возникла необходимость перед приемкой кучу данных запросить и дальше с ними работать уже повторно обращаясь. Но так она (обработка устроена) что однотипные функции должны теперь у меня будут делать из разных форм (скажем формы выбора товара в накладной и форме ввода данных по выбранному товару.

Встал вопрос - как хранить такие данные как менеджер временных таблиц (например)  прочие промежуточные данные, чтобы к ним можно было обращаться в разные моменты времени из разных форм обработки, при этом данных довольно много и каждый раз паковать-распаковывать в хранилище
значений не хотелось бы.

"Облегчает" дело то что формы обработки обычные. И вторая вызывается из первой с указанием ее как владельца (не соображу имеет это значение или нет?)

Т.к. нельзя создать реквизит обработки типа "Структура", то придумался такой костыль (и он сработал)

Добавляем реквизит обработки типа ДокументОбъект и используем его ДополнительныеСвойства как нужную нам структуру.

Эксперимент показал, что МВТ между двумя формами передался.

Отсюда вопросы
1. Где подводные камни ) ? Я немного не понимаю как платформа работает с контекстами - инициализация этих доп.свойств происходит из первой формы значит на (толстом) клиенте (верно?). Записались эти данные в структуру, которая является свойством реквизита обработки. Открылась другая форма - у нее же свой клиентский контекст - т.е. значение основного реквизита ОбработкаОбъект у нее свое? или нет? Как произошла передача данных?

2. в случае с управляемыми формами такой номер очевидно не прокатит там только через хранилище? Вроде даже нештатным образом говорят работает, но гонять в хранилище значений и обратно МВТ с таблицами по 20тыс строк не кайф.

3. может это все глупая фигня и есть кошерный способ создавать (вообще говоря "серверные") данные (довольно объемные) и обращаться к ним повторно из разных клиентских контекстов без перегонки через хранилище (вот пишу и чувствую что никак.. н перегонять большие выборки это какой-то изврат)
1 Йоссариан
 
07.02.18
20:06
видимо опять я непонятно изложил с чрезмерным количеством букв ((
ну или вопрос тривиальный.

Ни у кого не возникает задачи один раз данные собрать (объемные и замысловатые) и потом к ним обращаться повторно?

Ну тогда, если у кого-то возникала потребность сделать реквизит обработки типа "Структура" и обращаться к нему из разных обычных форм этой обработки, то делюсь этим лайфхаком ):
создать реквизит типа ДокументОбъект[какого-то вида] и юзать его ДополнительныеСвойства.
2 xXeNoNx
 
07.02.18
20:21
решение должно быть проще и лаконичнее, если не выходит, то какая разница как извращаться
3 Йоссариан
 
07.02.18
20:28
(2) ну ок )
правда непонятно почему ТЗ может быть реквизитом формы (интересно, используется только ли для громоздких нелаконичных решений) а структура не может.
4 Cyberhawk
 
07.02.18
22:03
(3) Вообще-то тип "Произвольный" есть
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн