helpf.pro
Регистрация
 +11 
Распечатать

Как программно сформировать отчет СКД указав параметры и на выходе получить таблице значений?

В одном документе для расчета потребовалось получать данные из отчета на СКД, реализовал следующим образом:

Код 1C v 8.х
 	//Програмное формирование отчета СКД	
	СхемаОст = Отчеты.ТоннажПоЭкспедиторам.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	
	КомпоновщикНастроекНастройки = Новый КомпоновщикНастроекКомпоновкиДанных;
	КомпоновщикНастроекНастройки.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаОст));
	КомпоновщикНастроекНастройки.ЗагрузитьНастройки(СхемаОст.НастройкиПоУмолчанию); 
	
	КомпоновщикНастроекНастройки.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НачалоПериода", НачалоМесяца(МесяцРасчета));
	КомпоновщикНастроекНастройки.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", КонецМесяца(МесяцРасчета));
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаОст, КомпоновщикНастроекНастройки.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; 
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
	
	ДанныеТЗ = Новый ТаблицаЗначений;
	ПроцессорВывода.УстановитьОбъект(ДанныеТЗ);
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
	
	ТоннажПоЭкспедиторам.Очистить();
	//	ДанныеТЗ.ВыбратьСтроку();		
	Для каждого СтрокаТЗ Из ДанныеТЗ Цикл
		Если ЗначениеЗаполнено(СтрокаТЗ.Экспедитор) и СтрокаТЗ.Доставка=Неопределено Тогда
		нСтр = ТоннажПоЭкспедиторам.Добавить();
		ЗаполнитьЗначенияСвойств(нСтр,СтрокаТЗ);
		нСтр.Сотрудник=СтрокаТЗ.Экспедитор; 
	Иначе
		Продолжить;
	КонецЕсли;	
	КонецЦикла; 
   
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 45342
 +11 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 53
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению 2
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: ... по причине: Ошибка компоновки данных по причине: Ошибка получени
Быстрая функция чтения данных с листа Excel 11
При чтении файла Excel я использую вариантный массив. Он позволяет быстро получить ВСЮ таблицу листа в память, а также получать данные массива целыми колонками. Тем самым время на чтение области файла Excel в таблицу значений сокращается в десятки ра
Вертикальная автофиксация для СКД 0
В СКД очень не хватает возможности автофиксации строк. Обусловлено это невозможностью однозначно определить их количество в общем случае. Однако в большинстве случаев это можно сделать Обращаю ваше внимание, что приведенная процедура работает не все
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!