доработка отчета 1СДоработка отчета 1с. Вывод нужных данных в отчет.

 

Задание:

Есть типовой отчет в УТ11.4 "Динамика продаж".

Нужно вывести в отчет:

Регион, Город, Менеджера клиента, ШтрихКод номенклатуры

 

 

Выполнение:

Обычными настройками отчета можно вывести только основного менеджера клиента.

Для вывода других данных нужно изменить запрос СКД и получить нужные данные.

 

 Для вывода региона, города берем данные из табличной части клиента (партнеры-КонтактнаяИнформация).

Для штрихкода - регистр сведений "ШтрихкодыНоменклатуры".

Меняем запрос:

доработка отчета 1с, меняем запрос СКД

Что именно меняем:

1 Берем табличную часть КонтактныеДанные у спр Партнеры, выбираем из нее строки где регион и город и помещаем во временную таблицу РегионГород.

2 Берем эту временную таблицу, регистр сведений "ШтрихКодыНоменклатуры" и таблицу "Таблица". "Таблица"- это результат исходного запроса СКД. Т.е. таблица, которая была до нашего вмешательства.

3 Устанавливаем связи между ними и выводим нужные данные.

Теперь полученные данные выводим в отчет.

Для этого редактируем вкладку СКД "настройки":

доработка типового отчета 1С, вывод нужных данных

 

Почти всё.

Т.к. в этом отчете используется куча вариантов, то неизвестно как поведет себя новый запрос со всеми этими вариантами.

Большая вероятность что будут ошибки.

Поэтому делаем чтобы этот запрос использовался только для этого варианта "Динамика продаж".

 

Идем в модуль объекта - Процедура ПриКомпоновкеРезультата

 

Берем старый запрос, помещаем в функцию :

 

функция текстЗапросаТиповой()
	запрос="
|	ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
|	Сегменты.Партнер КАК Партнер,
|	ИСТИНА КАК ИспользуетсяОтборПоСегментуПартнеров
..............
..............
|		КОНЕЦ <> 0)";
	возврат запрос;
	
	конецФункции

 

 правим процедуру ПриКомпоновкеРезультата:

 

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	ПользовательскиеНастройкиМодифицированы = Ложь;
	
	УстановитьОбязательныеНастройки(ПользовательскиеНастройкиМодифицированы);
	
	// Сформируем отчет
	НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
	
	ТекстЗапроса = СхемаКомпоновкиДанных.НаборыДанных.ВыручкаИСебестоимостьПродаж.Запрос;
	
	если компоновщикнастроек.ПользовательскиеНастройки.ДополнительныеСвойства.КлючВарианта<>"ДинамикаПродаж" тогда
	//+ставим стандартный запрос
	ТекстЗапроса=текстЗапросаТиповой();
	//-ставим стандартный запрос
	конецЕсли;
СхемаКомпоновкиДанных.НаборыДанных.ВыручкаИСебестоимостьПродаж.Запрос = ТекстЗапроса;
.......
......
конецПроцедуры

 

 Получаем нужный результат:

доработка отчета 1с, вывод нужных данных в отчет