Имя: Пароль:
1C
1С v8
Записать документ ВладельцаФормы
0 егаис
 
04.02.19
23:16
Из документа Премия в ЗУП вызываю обработку заполнения ТЧ. Открываю форму, ввожу необходимые данные. При закрытии формы не получается обновить данные в документе

&НаКлиенте
Процедура ЗакончитьОбработку(Команда)
    
    ВладелецФормы.Объект.КоэффициентРаспределения = Объект.Коэффициент;
    Для Каждого Стр Из Объект.Сотрудники Цикл
        Если Стр.СуммаПоТабелюРазница <> 0 Тогда
            НайденныеСтроки = ВладелецФормы.Объект.Показатели.НайтиСтроки(Новый Структура("Показатель, ИдентификаторСтрокиВидаРасчета", ПредопределенноеЗначение("Справочник.ПоказателиРасчетаЗарплаты.РасчетнаяБаза"), Стр.ИдентификаторСтрокиВидаРасчета));
            Для Каждого Строка Из НайденныеСтроки Цикл
                Строка.Значение = Стр.СуммаПоТабелю;
            КонецЦикла;    
        КонецЕсли;    
    КонецЦикла;

    ВладелецФормы.Записать();
    ВладелецФормы.Прочитать();
КонецПроцедуры

Не работает, после записать остались старые данные

Но если до записать сделать проверку
    Для Каждого Строка Из ВладелецФормы.Объект.Показатели Цикл
        Сообщить("" + Строка.ИдентификаторСтрокиВидаРасчета + " / " + Строка.Значение);
    КонецЦикла;    
видим новые данные

где туплю?
1 егаис
 
04.02.19
23:18
проблема в том, что колонка Расчетнаябаза создается программно, из таблицы показателей.
Т.е. нужно перечитать данные формы
2 hhhh
 
04.02.19
23:35
ВладелецФормы.Прочитать();   уберите
3 егаис
 
04.02.19
23:38
Спасибо!
Только еще пришлось достучаться до реквизита формы, который называется просто Значение1
        Если Стр.СуммаПоТабелюРазница <> 0 Тогда
            НайденныеСтроки = ВладелецФормы.Объект.Начисления.НайтиСтроки(Новый Структура("Сотрудник, ИдентификаторСтрокиВидаРасчета", Стр.Сотрудник, Стр.ИдентификаторСтрокиВидаРасчета));
            Для Каждого Строка Из НайденныеСтроки Цикл
                Строка.Значение1 = Стр.СуммаПоТабелю;
            КонецЦикла;    
        КонецЕсли;
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.