Имя: Пароль:
1C
1С v8
Создание документа из УФ с дополнительными ограничениями.
0 simol
 
15.07.15
15:37
Есть внешняя обработка.
Есть УТ 11.

1) Необходимо из УФ этой внешней обработки необходимо создать документ КоммерческоеПредложениеКлиенту, заполнить его нужными данными и открыть его форму не записывая документ.
2) ОбработкуЗаполнения (и в целом конфигурацию) в документе изменять нельзя.
3) Обработка ПриСозданииНаСервере (не экспортная) должна отработать уже с заполненным документом.
4) В Обработке заполнения есть только заполнение на основании 3-х типов документов.

Костыль в виде:

    ФормаКоммерческогоПредложения = ПолучитьФорму("Документ.КоммерческоеПредложениеКлиенту.ФормаОбъекта");
    ДанныеФормы = ФормаКоммерческогоПредложения.Объект;
    ЗаполнитьДокументНаСервере(ДанныеФормы);
    КопироватьДанныеФормы(ДанныеФормы, ФормаКоммерческогоПредложения.Объект);
    ФормаКоммерческогоПредложения.Открыть();


Процедура ЗаполнитьДокументНаСервере(ДанныеФормы)
    
    КоммерческоеПредложение = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.КоммерческоеПредложениеКлиенту"));
    
.......
    ЗначениеВДанныеФормы(КоммерческоеПредложение, ДанныеФормы);
    
КонецПроцедуры


Не помогает, так как ПриСозданииНаСервере  отрабатывает на пустом документе
1 DmitrO
 
15.07.15
15:57
Ну если не хочется изменять конфигурацию (ОбработкуЗаполнения, ПриСозданииНаСервере), то придется заполнить весь документ на клиенте, и отработать логику формы (то ради чего требование 3)) в вызывающем коде, сделать можно. Иначе никак.
Можно еще подписку на ОбработкаЗаполнения применить.
2 simol
 
15.07.15
16:34
(1) Логику повторить - вагон и маленькая тележка :), а за подписку спасибо!
3 Garykom
 
гуру
15.07.15
16:45
еще можно не выделываться так и сделать форма внешней обработки = форма документа

т.е. открывают обработку, видят перед собой как будто новый документ (на самом деле это допформа обработки) при записи (нажатии кнопки на этой форме) документ создается и записывается в базу с данными из обработки
4 simol
 
15.07.15
17:27
(3) Много из формы документа переносить тогда, чтобы разницы не заметили
5 Euguln
 
15.07.15
17:29
(4) Ctrl+C и Ctrl+V наше все.
6 VikingKosmo
 
15.07.15
17:32
скопируй целиком форму из документа в обработку