Имя: Пароль:
1C
1С v8
Заполнение документа в модуле формы, как вызвать программно?
0 xypc
 
27.10.15
16:18
Привет всем, столкнулся с проблемой, делаю групповую обработку и проведение для командировок в ЗУП 3.0, сам пересчет находится в модуле формы, соответственно вызвать его я не могу, подскажите, как поступить в такой ситуации? копипастить кучу кода в обработку из формы? На мой взгляд не лучший вариант, особенно если в будущем формула расчета изменится, может быть есть просто способ получить форму и таки вызвать из полученной нужную процедуру?

Пробовал влоб:

[CODE]
        ПараметрыОткрытия = Новый Структура;
    
    ПараметрыОткрытия.Вставить("Ключ", Документ);
    
    ФормаКом = ПолучитьФорму("Документ.Командировка.ФормаОбъекта", ПараметрыОткрытия);
    
    ФормаКом.Открыть();
    
    ФормаКом.РассчитатьНачисления();
[/CODE]

но, не работает(

Буду рад если поможете!:) Спасибо!
1 Рэйв
 
27.10.15
16:22
Скопируй процедуру в модуль объекта, незабудь поставить Экспорт - и вызывай
2 Рэйв
 
27.10.15
16:23
Можно конечно через создание формы.Но это криво  имхо
3 xypc
 
27.10.15
16:25
(2) Проблема ещё в том, что там вызывается дальше куча других процедур/функций из формы и очень много реквизитов формы используется :-/
4 Рэйв
 
27.10.15
16:26
(3)Ну тогда делать нечего.
Создавай форму,Открывать ее не обезательно. И вызывай ее экспортные функции:-))
5 Рэйв
 
27.10.15
16:28
или все копипасть в модуль объекта. Выбор таой.
6 Рэйв
 
27.10.15
16:28
*твой
7 xypc
 
27.10.15
16:29
(4) спасибо, попробую наверное таки через получение формы, т.к. копипастить на мой взгляд всё таки очень плохая практика)
8 Рэйв
 
27.10.15
16:30
(7)На самом деле как раз все должно лежать в модуле объекта, чтоьбы лишний раз формы не создавать.
9 xypc
 
27.10.15
16:47
(8) согласен, но что поделать, разработчики типовой об этом не подумали:)