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

Общие данные доступные из разных форм одной обработки (Структура как реквизит обработки).

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

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

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

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

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

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

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

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

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

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

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.