Сохранение/восстановление ПоляТабличногоДокумента #811347


#0 by Chuvaschow
Здравствуйте, уважаемые форумчане" Тема была перенесена в архив, но понадобилось решение сейчас. Подскажите, пожалуйста, как сохранять и восстанавливать значения ПолеТабличногоДокумента? Есть документ, в котором несколько страниц с ПолеТабличногоДокумента. Я научился заполнять эти поля. Но не знаю как сохранять при записи зокумента и восстанавливать при открытии документа эти значения. Хочется сделать что-то проде регламентированной отчетности как в ЗУП 2.5. В ЗУП смотрел, но, видимо, уровень знаний не тот, чтобы понять как это работает...
#1 by Lexey_
в реквизит с типом ХранилищеЗначения
#2 by Chuvaschow
Это я понимаю :) Можно поподробнее? Научите...
#3 by Lexey_
#4 by Chuvaschow
Да-да. В случае с обычными формами все ок. Как переписать на УФ?
#5 by Lexey_
принцип тот же, задавай конкретные вопросы
#6 by Chuvaschow
Переданное значение не может быть помещено в ХранилищеЗначения, поскольку не сериализуется или содержит вложенный несериализуемый элемент Или сервер не знает что там на форме?
#7 by Lexey_
тебе не поле нужно, а табличный документ, который в этом поле
#8 by Chuvaschow
То вот такая ошибка: ТабДок.Вывести(Элементы.ПолеТабличногоДокументаСтраница1); по причине: Несоответствие типов (параметр номер '1')
#9 by Chuvaschow
#10 by Lexey_
бери табличный документ в связанном реквизите формы
#11 by Chuvaschow
&НаСервере Вот так не ругается. Документ записывается. Скажите, как при открытии документа теперь прочитать данные из ХранилищеЗначений?
#12 by Lexey_
метод Получить
#13 by Chuvaschow
{Документ.РегламентированнаяОтчетностьФорма36.Форма.ФормаДокумента.Форма(11,12)}: Переменная не определена (Хранилище)
#14 by Lexey_
на сервере нужно
#15 by Chuvaschow
#16 by Lexey_
читай в ПриСозданииНаСервере, выводи в  реквизит, а не в элемент формы
#17 by Chuvaschow
Также ругается.
#18 by Lexey_
в ПриЧтенииНаСервере, в параметрах есть объект, там можно обратиться к реквизитам
#19 by h-sp
переменная Хранилище - это где определяется у вас?
#20 by Chuvaschow
Извините, не понимаю... Есть реквизит документа Хранилище с типом ХранилищеЗначения. Но к нему не добраться. И мы его не использовали при записи, так ведь?
#21 by Chuvaschow
Видимо нигде.
#22 by Chuvaschow
Вот здесь: &НаСервере
#23 by Lexey_
читал?
#24 by Chuvaschow
Читал. Не помогло. Чуть больше разжевать бы :) Буду очень признателен. Понимаю, что ХранилищеЗначений должно быть простым - записать/прочитать/очистить. Но пока не уложу в головы что да как...
#25 by Lexey_
что делал по ?
#26 by Chuvaschow
&НаСервере
#27 by Lexey_
есть ошибки?
#28 by Chuvaschow
&НаСервере Да, также самая: {Документ.РегламентированнаяОтчетностьФорма36.Форма.ФормаДокумента.Форма(145,11)}: Переменная не определена (Хранилище)     ТабДок = <<?>>Хранилище.Получить; (Проверка: Сервер)
#29 by Lexey_
ПриСозданииНаСервере забудь, делай все в ПриЧтенииНаСервере
#30 by Chuvaschow
Хорошо. Попробую.
#31 by h-sp
Объект.Хранилище = Новый ХранилищеЗначения(ТабДок);
#32 by Chuvaschow
Снова здравствуйте! Вот что сейчас имеем: Без ошибок, проводится, открывается. Но ничего не сохраняется/не восстанавливается. При открытии документа отладчик говорит ТабДок      Неопределено.
#33 by Chuvaschow
Так не дотягивается. Получаем: {Документ.РегламентированнаяОтчетностьФорма36.Форма.ФормаДокумента.Форма}: Поле объекта не обнаружено (Хранилище)     Объект.Хранилище = Новый ХранилищеЗначения(ТабДок);
#34 by Chuvaschow
При таком варианте: При открытии Хранилище имеет тип ТабличныйДокумент. Но ПолеТабличногоДокументаСтраница1 так и остается пустой. Хотя, возможно, он и в хранилище записывается пустым, не знаю как проверить.
#36 by Chuvaschow
#37 by Chuvaschow
Весь смысл в том, что на форме есть ПолеТабличногоДокумента с типом ТабличныйДокумент, который по кнопке Заполнить заполняется необходимыми значениями в определенные области. Необходимо то, что получилось сохранить со ссылкой на этот документ и при открытии соответственно извлечь это все и показать...
#38 by Chuvaschow
А сервер не знает, что там на форме изменилось. Он знает лишь про ТабличныйДокумент.
#39 by Chuvaschow
Может правильнее после заполнения сохранять значения каждой области в массив, а при открытии этот массив перечитывать и расставлять по своим местам ?
#40 by Lexey_
процедуру ПередЗаписьюНаСервере руками писал? Не назначил обработчиком, если бы назначил, то увидел бы, что в параметрах есть ТекущийОбъект, и не нужны извращения с РеквизитФормыВЗначение
#41 by Chuvaschow
Не отрабатывало, видимо, потому, что процедуры не были назначены в обработчике формы... :)))
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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