Имя: Пароль:
1C
1С v8
Обновление формы документа после изменений в модуле объекта
0 Rassvetniy
 
04.08.16
03:21
Приветствую.

в модуле объекта документа фрагмент:
Процедура расчетИтогов() экспорт
        С = 0;
    С_ндс = 0;
    Снац = 0;
    Срозн = 0;
// расчет

этотОбъект.Стоимость = С;
этотОбъект.СуммаНдс = С_ндс;
этотОбъект.СуммаНаценки = 100;
этотОбъект.СуммаРозничная = Срозн;
    конецПроцедуры




вызывается этот метод из модуля формы следующим образом:
&НаКлиенте
Процедура ТабличнаяЧасть1ПриИзменении(Элемент)
            Итоги();
//ЭтаФорма.ОбновитьОтображениеДанных();
    КонецПроцедуры
    
&НаСервере
Процедура Итоги ()
     РеквизитФормыВЗначение("Объект").расчетИтогов();
конецПроцедуры
как значение реквизитов рассчитанных в модуле объекта перенести назад в форму?
1 Rassvetniy
 
04.08.16
04:15
насколько понимаю  РеквизитФормыВЗначение("Объект") создает копию объекта никак не связанную в тем, что отображен в форме...
2 Rassvetniy
 
04.08.16
04:30
прав ли, что такой хитрый ход конем по просту невозможен? задумка была в том что расчетный код документа прописать в одном месте, а так получается если создавать документ интерактивно из формы код нужно поместить в модуль формы если создавать документ програмно то тот же код нужно помещать в модуль объекта
3 Горогуля
 
04.08.16
04:46
если что-то делается в модуле объекта, то считай, что формы нет. и не надо выдумывать извращения конём
4 Rassvetniy
 
04.08.16
04:47
нашел решение:
&НаСервере
Процедура Итоги ()
    ОбъектН =ДанныеФормыВЗначение(Объект,Тип("ДокументОбъект.АктПереоценки"));    
ОбъектН.расчетИтогов();
ЗначениеВДанныеФормы(ОбъектН,Объект);
    конецПроцедуры
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.