В процедуре ОбработкаЗаполнения в модуля иерархического справочника во входном параметре ДанныеЗаполнения находится структура.
Свойства Родитель и ДатаОкончания. Первое соответствует стандартному реквизиту, а второй реквизиту объекта.
Процедура ОбработкаЗаполнения пустая.
Вопрос: Почему при открытии формы Родитель заполнен, а ДатаОкончания нет?
Наименования точно совпадают, так как если в ОбработкаЗаполнения Добавить:
Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
ДатаОкончания = ДанныеЗаполнения.ДатаОкончания;
КонецЕсли;
потому что РОдитель это стандартный реквизит 1С, на который возможно существуют предопределенные функции по заполнению в платформе, а вот на твой выдуманный реквизит, как-то 1С не сообразило сделать предопределенную функцию и предоставила тебе возможность самому заполнить его.
Пришлось такое куралесить
Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
ДанныеЗаполнения.Свойство("Родитель", Родитель);
Если Не ДанныеЗаполнения.Свойство("ДатаОкончания", ДатаОкончания) И ЗначениеЗаполнено(Родитель) Тогда
ДатаОкончания = Родитель.ДатаОкончания - (Цел(Родитель.Трудозатраты / 8) + 1) * 24*60*60
КонецЕсли;
КонецЕсли;
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс