Имя: Пароль:
1C
1С v8
1C УФ создать несколько документов программно, заполнить , не записывая, открыть каждый
0 lamme
 
04.08.17
15:25
&НаКлиенте
Процедура СоздатьПоступления(Команда)
    
    
    // формирование поступлений
    
    для каждого СтрДок из СписокДокументов цикл
        если  не СтрДок.Выбран тогда продолжить конецесли;
    
        
        Форма = ПолучитьФорму("Документ.ПоступлениеТоваровУслуг.ФормаОбъекта");
        ДанныеФормы = Форма.Объект;
        ЗаполнитьПоступлениеНаСервере(ДанныеФормы,СтрДок.ЗаказПоставщику );
        КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);
        Форма.Открыть();
    конеццикла;    
КонецПроцедуры

//---


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

    ЗначениеВДанныеФормы(Док,ДанныеФормы);

конецпроцедуры



Так создается. Один документ. И заполняется данными из последнего переданного параметра ЗаказПоставщикуСсылка
по коду= проходит все три раза и три раза создается


но форма новая открыта одна ...
и он ее считает - типа - новой.

как сделать правильно - чтобы создалось столько документов(заполнилось, не записалось) - сколько было вызовов процедуры создания и заполнения документов

где этот униклаьный ид формы проставить?
1 lamme
 
04.08.17
15:27
если дело в уникальности вообще конечно
2 lamme
 
04.08.17
15:27
попробую так
Форма = ПолучитьФорму("Документ.ПоступлениеТоваровУслуг.ФормаОбъекта",,,Новый УникальныйИдентификатор());
3 lamme
 
04.08.17
15:28
гы .. сработало

вопрос закрыт
всем спасибо
4 oslokot
 
04.08.17
15:51
Обращайся!
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.