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
Обращайся!
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.