Имя: Пароль:
1C
1С v8
УФ. Из обработки вызвать модуль формы документа.
0 егаис
 
06.09.17
11:30
Что-то не соображу, реально это?
Нужно создать кучу документов программно, процедуры заполнения находятся в модуле формы документа.
Через ПолучитьФорму() процедура недоступна, хотя и Экспортная.
1 Fedor-1971
 
06.09.17
11:38
(0) об=Документы.ХХХХ.ПустаяСсылка().ПолучитьОбъект()?

Если создаёшь документы, так и заполняй их, они и есть объект
док=Документы.ХХХХ.СоздатьДокумент();
док.ТвояФункцияЗаполнения();
док.Заполнить(Чем); //вызывается ОбработкаЗаполнения
док.Записать();

Вот чисто интересно: ПолучитьФорму() и модуль объекта - несколько разные понятия, надо как-то прибиться к одному знаменателю модуль объекта или модуль формы.
2 егаис
 
06.09.17
11:44
в обработке
&НаСервере
Процедура СформироватьНаСервере()
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    КВП_Здания.Ссылка
        |ИЗ
        |    Справочник.КВП_Здания КАК КВП_Здания
        |ГДЕ
        |    НЕ КВП_Здания.ЭтоГруппа
        |    И НЕ КВП_Здания.ПометкаУдаления";
    
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ДокОбъект = Документы.УПЖКХ_ЗакрытиеПериодаПоНачислениямЖКХ.СоздатьДокумент();
        ДокОбъект.Дата = КонецМесяца(Объект.Дата);
        ДокОбъект.Организация = УПЖКХ_ТиповыеМетодыВызовСервера.ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация");
        ДокОбъект.КорректировкаРасчета = Истина;
        ДокОбъект.ЗаполнитьТабличныеЧастиДокумента(Истина);
        ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
        Прервать;;
    КонецЦикла;
    
КонецПроцедуры


{ВнешняяОбработка.ЗакрытиеПериодаПоЖКХ.Форма.Форма.Форма(71)}: Метод объекта не обнаружен (ЗаполнитьТабличныеЧастиДокумента)
        ДокОбъект.ЗаполнитьТабличныеЧастиДокумента(Истина);
3 егаис
 
06.09.17
11:45
в модуле формы
&НаСервере
// Заполняет табличные части документа по таблице корректировок.
Функция ЗаполнитьТабличныеЧастиДокумента(ПолучатьОстаткиСКорректировками) Экспорт

блабла
4 Numerus Mikhail
 
06.09.17
11:46
(2) Перенеси заполнение в модуль менеджера
5 dezss
 
06.09.17
11:47
(4) + В процедуру ОбработкаЗаполнения
6 Fedor-1971
 
06.09.17
11:48
(3) Вся проблема в том, что ПолучитьФорму - имеет контекст НаКлиенте.
Вынеси заполнение в модуль менеджера.
7 aleks_default
 
06.09.17
11:49
(0)Из формы одного документа создается и проводится другой документ? Выбрось эту конфу.
8 Chameleon1980
 
06.09.17
11:49
ДокОбъект.ЗаполнитьТабличныеЧастиДокумента

клиентская?
9 dezss
 
06.09.17
11:49
(6) либо сделать клиентскую экспортную, которая будет дергать уже серверную
10 dezss
 
06.09.17
11:50
(8) см. (3), она серверная...
11 Chameleon1980
 
06.09.17
11:50
+(8) пардон не увидел (3)
12 Fedor-1971
 
06.09.17
11:50
(5) Что-бы заполнить из формы придётся преобразовывать Форма-Объект, а модуль менеджера можно дёрнуть и из Формы и из ОбработкаЗаполнения
13 Fedor-1971
 
06.09.17
11:54
(9) без смысла, создаём объект наСервере, а форму получаем НаКлиенте, передать НаСервер форму нельзя, как и вызвать процедуру НаКлиенте с сервера.
Так что получается функционал заполнения имеет смысл вынести в модуль менеджера
14 Fedor-1971
 
06.09.17
11:58
(7) это обработка массового создания неких документов