Отчет на СКД не реагирует на изменение периода

1. A24_TECH 24 20.06.17 12:02 Сейчас в теме
1С:Предприятие 8.3 (8.3.8.2137). В отчете 3 параметра: ДатаНачала, ДатаОкончания, СтандартныеПериод. Параметр СтандартныйПериод включен в пользовательские настройки. После указании периода в СКД отчет выводится корректно, но на изменение периода с форму отчета ни как не реагирует. Что может быть не так?
По теме из базы знаний
Найденные решения
15. dmitrichenko.ivan 6 23.06.17 11:08 Сейчас в теме
Посмотри в типовые:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
	ПараметрПериодОтчета = НастройкаПараметра("ПериодОтчета");
	Если ПараметрПериодОтчета <> Неопределено Тогда
		Если НЕ ПараметрПериодОтчета.Использование Тогда
			Параметр = НастройкаПараметра("НачалоПериода");
			Параметр.Значение = Дата("00010101");
			Параметр.Использование = Истина;
			Параметр = НастройкаПараметра("КонецПериода");
			Параметр.Значение = Дата("29991231");
			Параметр.Использование = Истина;
		КонецЕсли;
	КонецЕсли;
	
...
КонецПроцедуры


Функция НастройкаПараметра(ИмяПараметра)

	ПараметрДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра);
	Если ПараметрДанных <> Неопределено Тогда
		ПараметрПользовательскойНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрДанных.ИдентификаторПользовательскойНастройки);
		Если ПараметрПользовательскойНастройки <> Неопределено Тогда
			Возврат ПараметрПользовательскойНастройки;
		Иначе
			Возврат ПараметрДанных;
		КонецЕсли;
	КонецЕсли;
	
	Возврат Неопределено;

КонецФункции
Показать
psa247; A24_TECH; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. WasiliyMay 8 20.06.17 12:05 Сейчас в теме
(1) Была подобная проблема. Решилась созданием формы в отчете. Может здесь что то похожее?
3. A24_TECH 24 20.06.17 12:24 Сейчас в теме
(2) Создание формы не помогло. Есть еще идеи?
4. tata_1211 63 20.06.17 12:38 Сейчас в теме
(1) проверьте, точно ли период на форме связан с периодом СКД
6. A24_TECH 24 20.06.17 12:42 Сейчас в теме
(4) Проверил, это точно он! ) При переименовании и при отключении пользовательской настройки, период соответственно переименовывается и отключается.
5. AntonSm 30 20.06.17 12:42 Сейчас в теме
(1) может скриншот вкладки параметры в СКД показать?
7. A24_TECH 24 20.06.17 12:46 Сейчас в теме
(5)
Прикрепленные файлы:
8. NushaN 11 20.06.17 12:54 Сейчас в теме
(7) Поменяйте: имена параметров ДатаНачала/Окончания - на НачалоПериода и КонецПериода + спустите вниз параметр Период.
Kilka_v_Kepke; A24_TECH; +2 Ответить
9. A24_TECH 24 20.06.17 13:48 Сейчас в теме
(8) Все сделал. ноль реакции.
10. NushaN 11 20.06.17 15:27 Сейчас в теме
(9)так? где ПериодОт и ПериодПо - парам. из запроса.
а на форме добавлено соотв. табличное поле.
Прикрепленные файлы:
A24_TECH; +1 Ответить
11. A24_TECH 24 21.06.17 09:18 Сейчас в теме
(10) именно так. Я думаю проблема не в настройках параметров. Так как на вкладке "Настройки" в параметрах, если я указываю даты, то отчет выводится правильно. Но на изменение параметра из формы ему плевать.
Прикрепленные файлы:
12. A24_TECH 24 21.06.17 10:25 Сейчас в теме
Разобрался! У меня в модуле был код, который я где то скопипастил
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	КомпоновщикМакет = Новый КомпоновщикМакетаКомпоновкиДанных;
	Макет = КомпоновщикМакет.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(Макет, , ДанныеРасшифровки);
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновки);
	ДокументРезультат.ПоказатьУровеньГруппировокСтрок(1);
	
КонецПроцедуры   
Показать


Который, как я думал, всего лишь группирует по определенному уровню. В итоге в нем и проблема.
13. A24_TECH 24 23.06.17 10:45 Сейчас в теме
И все-таки, что надо с этим кодом сделать, чтоб он брал новые данные периода из формы?
14. A24_TECH 24 23.06.17 10:54 Сейчас в теме
Сейчас я создал свою форму, добавил туда "Период" и дописал
	НачалоПериода=Макет.ЗначенияПараметров.Найти("НачалоПериода");
	НачалоПериода.Значение=Период.ДатаНачала;
	КонецПериода=Макет.ЗначенияПараметров.Найти("КонецПериода");
	КонецПериода.Значение=Период.ДатаОкончания;


Но теперь не могу на форму добавить кнопки суммировать и отправить на майл. Может есть способ без собственной формы?
15. dmitrichenko.ivan 6 23.06.17 11:08 Сейчас в теме
Посмотри в типовые:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
	ПараметрПериодОтчета = НастройкаПараметра("ПериодОтчета");
	Если ПараметрПериодОтчета <> Неопределено Тогда
		Если НЕ ПараметрПериодОтчета.Использование Тогда
			Параметр = НастройкаПараметра("НачалоПериода");
			Параметр.Значение = Дата("00010101");
			Параметр.Использование = Истина;
			Параметр = НастройкаПараметра("КонецПериода");
			Параметр.Значение = Дата("29991231");
			Параметр.Использование = Истина;
		КонецЕсли;
	КонецЕсли;
	
...
КонецПроцедуры


Функция НастройкаПараметра(ИмяПараметра)

	ПараметрДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра);
	Если ПараметрДанных <> Неопределено Тогда
		ПараметрПользовательскойНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрДанных.ИдентификаторПользовательскойНастройки);
		Если ПараметрПользовательскойНастройки <> Неопределено Тогда
			Возврат ПараметрПользовательскойНастройки;
		Иначе
			Возврат ПараметрДанных;
		КонецЕсли;
	КонецЕсли;
	
	Возврат Неопределено;

КонецФункции
Показать
psa247; A24_TECH; +2 Ответить
16. A24_TECH 24 23.06.17 11:34 Сейчас в теме
(15) Спасибо. Посмотрел модуль типовой формы. Там и код команды "ВычислитьСумму" и настройка параметров. Собственно буду делать по образу и подобию свою форму. Сложилось мнение что моя форма работает быстрее дефолтной )
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот