|
Не отрабатывает заполнение параметров отчета СКД | ☑ | ||
---|---|---|---|---|
0
Romaxa
17.12.18
✎
07:29
|
Всем доброго дня! Следующая ситуация, есть отчет, понадобилось отправлять его каждое утро. В модуле сделал следующее:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Настройки = КомпоновщикНастроек.Настройки; Параметр1 = Настройки.ПараметрыДанных.Элементы.Найти("Период"); Параметр1.Значение = КонецДня(ТекущаяДата()); Параметр1.Использование = Истина; КонецПроцедуры Если открыть отчет и сформировать через "отчеты", то заполняется "Период" всё работает отлично. А когда я вызываю его во внешней обработке, для сохранения в xls, пишет &Период не заполнен. Запрос отчета: ВЫБРАТЬ ХозрасчетныйОстатки.Субконто1, ХозрасчетныйОстатки.СуммаОстаток, ХозрасчетныйОстатки.Организация.Наименование ИЗ РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками)), , Субконто1 = &Контрагент) КАК ХозрасчетныйОстатки кэш чистил, конфа УПП 1,3 1.3.108.2, платформа 8.3 (8.3.8.2442), подскажите в какую сторону копать? |
|||
1
Borteg
17.12.18
✎
07:32
|
(0) Настройки = КомпоновщикНастроек.ПолучитьНастройки();
|
|||
2
Romaxa
17.12.18
✎
07:37
|
(1) Не помогло (
|
|||
3
Borteg
17.12.18
✎
07:50
|
(2) Вестимо надо править код обработки, а не отчета. Если хочется сформировать отчет из внешней обработки с настройками надо собрать макет во внешней обработки и там заполнить параметры.
|
|||
4
Romaxa
17.12.18
✎
07:52
|
С обработкой уже тоже всяко пробовал, вот один из вариантов:
Процедура КнопкаВыполнитьНажатие(Кнопка) ТабДок1 = Новый ТабличныйДокумент(); СКД1=Отчеты.Взаиморасчеты.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки1=СКД1.НастройкиПоУмолчанию; Расшифровка1 = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета1 = Новый КомпоновщикМакетаКомпоновкиДанных; //МакетКомпоновки1 = КомпоновщикМакета1.Выполнить(СКД1, Настройки1, Расшифровка1); МакетКомпоновки1 = КомпоновщикМакета1.Выполнить(СКД1, Настройки1, Расшифровка1); ВнешниеПараметры1 = Новый Структура; ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки1, ВнешниеПараметры1, Расшифровка1); ПроцессорВывода1 = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода1.УстановитьДокумент(ТабДок1); ПроцессорВывода1.Вывести(ПроцессорКомпоновкиДанных, Истина); ТабДок1.Записать("C:\Temp\skd.xls", ТипФайлаТабличногоДокумента.XLS); КонецПроцедуры |
|||
5
Romaxa
17.12.18
✎
07:54
|
Самое интересное, есть отчет в котором всё отрабатывает нормально, с запросом:
ВЫБРАТЬ ПлатежноеПоручениеВходящее.Дата, ПлатежноеПоручениеВходящее.Номер, ПлатежноеПоручениеВходящее.Организация, ПлатежноеПоручениеВходящее.СуммаДокумента, ПлатежноеПоручениеВходящее.ВидОперации, ПлатежноеПоручениеВходящее.Контрагент.Наименование, ПлатежноеПоручениеВходящее.Организация.Наименование, ПлатежноеПоручениеВходящее.ДатаОплаты КАК ДатаОплаты, ПлатежноеПоручениеВходящее.НазначениеПлатежа ИЗ Документ.ПлатежноеПоручениеВходящее КАК ПлатежноеПоручениеВходящее ГДЕ ПлатежноеПоручениеВходящее.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийПоступлениеБезналичныхДенежныхСредств.ОплатаПокупателя) {ГДЕ (ПлатежноеПоручениеВходящее.Дата МЕЖДУ &ДатаНачала И &ДатаКонца), (ПлатежноеПоручениеВходящее.Контрагент = &Контрагент), (ПлатежноеПоручениеВходящее.Организация = &Организация)} УПОРЯДОЧИТЬ ПО ДатаОплаты |
|||
6
Borteg
17.12.18
✎
08:02
|
(4) где в этом коде установка параметров?
|
|||
7
Romaxa
17.12.18
✎
08:14
|
(6) в модуле отчета, в процедуре "ПриКомпоновкеРезультата"
|
|||
8
Borteg
17.12.18
✎
08:24
|
(7) но в этом коде ты этот отчет не вызываешь.
Берешь настройки схему и получаешь отчет, здесь ты не вызываешь модуль того отчета совсем |
|||
9
Borteg
17.12.18
✎
08:24
|
(7) заполни параметры в обработке.
|
|||
10
Гипервизор
17.12.18
✎
08:34
|
Укажите прямо в схеме в выражении параметра КонецПериода(ТекущаяДата(), "День")
|
|||
11
los_hooliganos
17.12.18
✎
08:44
|
в консоле запроса перейти на закладке СКД и укажи свои параметры.
СКД не понимает твой параметр. А вообще более правильно оставить место пустым для параметра типа дата. Далее просмотреть как параметр назовет сама СКД и уже его и искать кодом. |
|||
12
Romaxa
27.12.18
✎
06:17
|
(10) Так работает, но я послушал (8) и сделал через компоновщик.
Всем спасибо и с Наступающим! P.S.: Вроде сразу отписал, но видимо не нажал кнопку "Отправить". |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |