Имя: Пароль:
1C
1С v8
Как получить ДокументОбъект из формы, в табличную часть кот-й добавлен реквизит?
0 Dmitriy_
Kolesnikov
 
24.05.17
10:42
Провожу тест. Создаю новый документ дкТест. Одна ТЧ, в ней один реквизит.
Создаю форму. У неё:

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    ДокументОбъ = РеквизитФормыВЗначение("Объект");
КонецПроцедуры

Открываю приложение, создаю и записываю документ, всё ОК.

Теперь в форме (не в объекте) к табличной части добавляю одну колонку реквизита. Тип - неважно. Вывожу на форму.

В приложении жму "Сохранить" и получаю ошибку:

{Документ.дкТест.Форма.ФормаДокумента.Форма(4)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение)
    ДокументОбъ = РеквизитФормыВЗначение("Объект");
по причине:
Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!

Как мне получить ДокументОбъект в форме?
1 Buster007
 
24.05.17
10:48
ТекущийОбъект не подойдет?
2 Рэйв
 
24.05.17
10:52
(0)А в чем смысл получения объекта при записи?
3 sFAQer
 
24.05.17
10:56
ЗначениеВРеквизитФормы(ДокументОбъ, "Объект") после манипуляций но до записи
4 Dmitriy_
Kolesnikov
 
25.05.17
14:46
(1) благодарю. Подошел.

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    тзВознаграждения                    = Объект.Вознаграждения.Выгрузить();
    ТекущийОбъект.АктуализироватьДокументыПоДаннымФормы(тзВознаграждения);
КонецПроцедуры


Надо было для того, чтобы вынести процедуру из формы в модуль объекта.

Но я совершенно не понимаю, почему программисты 1С не предусмотрели такой сценарий, как в (0).
AdBlock убивает бесплатный контент. 1Сергей