Имеется Документ ОсновнойДокумент, у него реквизит шапки ВспДокумент имеет тип значения Документ.Служебный. При проведении документа не могу получить ВспДокумент.Реквизит5, записанные в ВспДокумент ранее, в процедуре ПриЗаписи(). Попробую кратко описать
В процедуре ПриЗаписи() основного документа записано
Процедура ПриЗаписи()
ДокСлужеб = СоздатьОбъект("Документ.Служебный");
ДокСлужеб.НайтиДокумент(ВспДокумент);
ДокСлужеб.ВыбратьСтроки();
Пока ДокСлужеб.ПолучитьСтроку() = 1 Цикл
ДокСлужеб.Реквизит5 = "5";
конецЦикла;
докСлужеб.Записать();
конецПроцедуры
Далее в процедуре обработка проведения основного документа
Процедура ОбработкаПроведения()
ВспДокумент.ВыбратьСтроки();
Пока ВспДокумент.ПолучитьСтроку() = 1 Цикл
Сообщить(ВспДокумент.Реквизит5);
конецЦикла;
конецПроцедуры
(1) Потому как известный глюк. Объект создает потому что записать можно только объект созданный при помощи "СоздатьОбъект", а глюк в том, что данные в ВспДокумент при этом не обновляются. Чтоб обновились достаточно в призаписи() добавить строку в конец
ДокСлужеб = СоздатьОбъект("Документ.Служебный");
ДокСлужеб.НайтиДокумент(ВспДокумент);
ДокСлужеб.ВыбратьСтроки();
Пока ДокСлужеб.ПолучитьСтроку() = 1 Цикл
ДокСлужеб.Реквизит5 = "5";
конецЦикла;
докСлужеб.Записать();
ВспДокумент=докслужеб.текущийдокумент();
(3)То, что писАть надо в объект, а не в реквизит это понятно (в коде записи нет, но есть в сабже).
Что агрегатный реквизит при изменении программно не обновляется (визуально) - знал, но что он и в при проведении остается "старый" не знал (не сталкивался). Буду знать.
интересный факт.. Просится в Базу знаний, добавил-бы , да Асмоди что-то хитрое мне подстроил: могу только извлекать из БД, но не впихивать туда..
зы. Тоже полезная функция..
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой