как сохранить СписокЗначений в поле ХранилищеЗначений в табличной части документа
как сохранить СписокЗначений в поле ХранилищеЗначений в табличной части документа?
делаю
но при открытии поле пустое
делаю
&НаСервере
Процедура ЗаписатьГолосаГолосования(НомерСтроки,ГолосаКомисиии)
ГолосаКомисиииОбъект = РеквизитФормыВЗначение("Объект");
ТС=Объект.Голоса.НайтиПоИдентификатору(НомерСтроки);
ИндексСтроки = Объект.Голоса.Индекс(ТС);
СтрокаТабличнойЧасти = ГолосаКомисиииОбъект.Голоса.Получить(ИндексСтроки);
СтрокаТабличнойЧасти.ГолосаКомисиии=Новый ХранилищеЗначения(ГолосаКомисиии);
ЗначениеВРеквизитФормы(ГолосаКомисиииОбъект, "Объект");
КонецПроцедуры
Показатьно при открытии поле пустое
По теме из базы знаний
Найденные решения
Нужно добавить в данных формы для строки реквизит с типом список значений
Использовать события ПриЧтенииНаСервере, ПередЗаписьюНаСервере
У этих событий есть параметр ТекущийОбъект, который представляет из себя сам документ.
В событии ПередЗаписьюНаСервере можно сохранить так:
В событии ПриЧтенииНаСервере делаем восстановление по обратному принципу
Использовать события ПриЧтенииНаСервере, ПередЗаписьюНаСервере
У этих событий есть параметр ТекущийОбъект, который представляет из себя сам документ.
В событии ПередЗаписьюНаСервере можно сохранить так:
Для ИндексСтроки = 0 По Объект.Голоса.Количество()-1 Цикл
ТекущийОбъект.Голоса[ИндексСтроки].ГолосаКомисиии = Новый ХранилищеЗначения(Объект.Голоса[ИндексСтроки].<ИмяРеквизитаСписокЗначений>);
КонецЦикла;
В событии ПриЧтенииНаСервере делаем восстановление по обратному принципу
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Ну, как бы, э...
но при открытии поле пустое
Ну, как бы, э...
//1. Сохранить
Строка = Объект.Голоса.НайтиПоИдентификатору( НомерСтроки );
Строка.ГолосаКомиссии = Новый ХранилищеЗначений( Голоса );
//2. Получить назад
Строка = Объект.Голоса.НайтиПоИдентификатору( НомерСтроки );
Голоса = Строка.ГолосаКомиссии.Получить();
Может быть в такой задаче проще было бы сделать еще одну новую табличную часть и связать ее с первой табличной частью ключом?
В типовых конфигурациях от 1С так обычно делают. Например, документ "РеализацияТоваровИУслуг" в УТ-11 - табличные части "Товары" и "Серии".
В типовых конфигурациях от 1С так обычно делают. Например, документ "РеализацияТоваровИУслуг" в УТ-11 - табличные части "Товары" и "Серии".
Нужно добавить в данных формы для строки реквизит с типом список значений
Использовать события ПриЧтенииНаСервере, ПередЗаписьюНаСервере
У этих событий есть параметр ТекущийОбъект, который представляет из себя сам документ.
В событии ПередЗаписьюНаСервере можно сохранить так:
В событии ПриЧтенииНаСервере делаем восстановление по обратному принципу
Использовать события ПриЧтенииНаСервере, ПередЗаписьюНаСервере
У этих событий есть параметр ТекущийОбъект, который представляет из себя сам документ.
В событии ПередЗаписьюНаСервере можно сохранить так:
Для ИндексСтроки = 0 По Объект.Голоса.Количество()-1 Цикл
ТекущийОбъект.Голоса[ИндексСтроки].ГолосаКомисиии = Новый ХранилищеЗначения(Объект.Голоса[ИндексСтроки].<ИмяРеквизитаСписокЗначений>);
КонецЦикла;
В событии ПриЧтенииНаСервере делаем восстановление по обратному принципу
(7)
не подходит, так как при редактировании строки открывается форма редактирования после закрытия надо ее в строку сохранить не сохраняя документ. потом ее можно еще раз выбрать или закрыть документ без сохранения
я делал подобное для константы, там работает, а в табличном поле не получается
не подходит, так как при редактировании строки открывается форма редактирования после закрытия надо ее в строку сохранить не сохраняя документ. потом ее можно еще раз выбрать или закрыть документ без сохранения
я делал подобное для константы, там работает, а в табличном поле не получается
(8) Как же не используется, если вы присваиваете его реквизиту ТЧ, запихиваете в данные формы через ЗначениеВРеквизитФормы(ГолосаКомисиииОбъект, "Объект");, а потом ожидаете, что оно у вас где-то сохранилось.
Прикладной объект вообще существует в рамках одного серверного вызова. Где его ловить в событиях формы вам подсказали в (7).
(9) Ничего специально для хранения списка значений на время работы с формой делать не требуется. Добавьте свой реквизит формы в табличную часть. Ваш список будет храниться в данных формы. Перед записью просто поместите его в хранилище значения для каждой строки.
Прикладной объект вообще существует в рамках одного серверного вызова. Где его ловить в событиях формы вам подсказали в (7).
(9) Ничего специально для хранения списка значений на время работы с формой делать не требуется. Добавьте свой реквизит формы в табличную часть. Ваш список будет храниться в данных формы. Перед записью просто поместите его в хранилище значения для каждой строки.
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот