Имя: Пароль:
1C
1С v8
Можно ли вызвать процедуру из модуля формы документа
,
0 Karambol
 
20.10.12
07:10
Добрый день!
Подскажите, можно ли вызвать процедуру из модуля формы документа в обработке.
Знаю, что для того, чтобы вызвать из модуля объекта нужно процедуру объявить экспортной.
А для модуля формы как?
1 Wobland
 
20.10.12
07:12
для модуля форму через форму
2 Karambol
 
20.10.12
07:15
(1)Можно пример?
3 Wobland
 
20.10.12
07:19
(2) Форма.НужнаяПроцедура
4 Wobland
 
20.10.12
07:19
+(3) ()
5 Karambol
 
20.10.12
07:22
(3)А форму нужного документа как получить?
Вот есть у меня ссылка на документ: Док.
   Форма = Док.ПолучитьФорму("ФормаДокумента");
   Форма.НужнаяПроцедура();

Правильно?
И нужно ли процедуру модуля формы объявлять экспортной?
6 Wobland
 
20.10.12
07:22
Процедура НапечататьДвиженияДокумента(ДокументСсылка) Экспорт

   Форма = Отчеты.ДвиженияДокумента.ПолучитьФорму(,,Новый УникальныйИдентификатор);
   Форма.Открыть();
   Форма.Документ = ДокументСсылка;
   Форма.СформироватьИВывестиОтчет();

КонецПроцедуры // НапечататьДвиженияДокумента()
7 Wobland
 
20.10.12
07:22
(5) да, да
8 Karambol
 
20.10.12
07:25
(7)Спасибо!
9 Karambol
 
20.10.12
07:34
А как потом записать изменения, которые сделала процедура модуля формы?
10 Karambol
 
20.10.12
07:42
Ну, т.е., процедура в модуле формы пересчитала, например, табличную часть документа. Как сохранить документ?
11 Wobland
 
20.10.12
07:46
(10) это у тебя получается некие неформовые действия. если идёт работа с данными, при чём тут форма? переноси логику в модуль объекта
12 Karambol
 
20.10.12
07:56
(11) В типовой УТ 10.3, в документе Установка цен номенклатуры  
в модуле формы есть процедура КоманднаяПанельТаблицыТиповЦенРассчитатьПоБазовымЦенам()

В обработке я меняю реквизит ПроцентНаценки и хочу, чтобы данные в документе пересчитались в соответствии с новым значением.
13 Wobland
 
20.10.12
07:57
(12) оставь форму юзеру и рассчитывай
14 Wobland
 
20.10.12
07:58
мне пока лениво лезть в пофигуратор
15 Мимохожий Однако
 
20.10.12
07:59
Посмотри как делается внешняя обработка табличной части для типовых конфигураций.
16 Wobland
 
20.10.12
08:00
(15) да у него скорей всего нужно извне вызвать то, что прописано в обработчике. и всё
17 Wobland
 
20.10.12
08:00
передаю по буквам. скопипастить содержимое нужной процедуры себе в обработку
18 Wobland
 
20.10.12
08:06
ну или хотя бы проверить после пересчёта содержимое документа по ссылке
19 Karambol
 
20.10.12
08:06
(17) Понял :) Хотел без копипаста обойтись :)
20 Мимохожий Однако
 
20.10.12
08:07
(17) В этом случае зачастую приходится копировать и другие процедуры, которые используются в скопированной процедуре.
21 Wobland
 
20.10.12
08:07
(19) а сделай (18), мне с утра плохо соображается