wiki:1c:ckd

Это старая версия документа!


Создание документа на основании отчета СКД. 1С 8.2

Процедура СоздатьЗаказПоставщикуНажатие(Элемент)
	// получаем настройки СКД, хранимые в макете
	СхемаКомпоновкиДанных = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); 
	// получаем настройки СКД, введенные пользователем.
	Настройки = ЭтотОбъект.КомпоновщикНастроек.Настройки; 
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
	
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,);
	
	ТЗ = Новый ТаблицаЗначений;
    // вывод должен быть именно в коллекцию значений, а не в документ	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; 
	
	ПроцессорВывода.УстановитьОбъект(ТЗ);
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
	
	Док = Документы.ЗаказПоставщику.СоздатьДокумент();
	
	Для Каждого Стр из ТЗ Цикл
		Если Стр.КоличествоКЗаказу > 0 Тогда
			Товар = Док.Товары.Добавить();
			Товар.Номенклатура = Стр.Номенклатура;
			Товар.Количество = Стр.КоличествоКЗаказу;
		КонецЕсли;
	КонецЦикла;
	Форма = Док.ПолучитьФорму();
	Форма.Открыть();
КонецПроцедуры
  • wiki/1c/ckd.1551322071.txt.gz
  • Последнее изменение: 2019/02/28 05:47
  • anton