Изменение заголовка отчета перед его выводом. Заголовок СКД с параметрами

На Инфостарте есть способ, как без программирования поменять заголовок отчета, вывести в него параметры. Но он довольно громоздкий, мне больше нравятся программные решения.

Поэтому добавил небольшой код в процедуру ОбработкаПроверкиЗаполнения модуля отчета:

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)  

	Заголовок = "Реестр требований-накладных";

	Период = НайтиПользовательскийПараметр(КомпоновщикНастроек, Новый ПараметрКомпоновкиДанных("Период"));  
	
	Если Период <> Неопределено Тогда
		Заголовок = Заголовок + " с " + Формат(Период.Значение.ДатаНачала, "ДФ=dd.MM.yyyy") + " по " + Формат(Период.Значение.ДатаОкончания, "ДФ=dd.MM.yyyy");
	КонецЕсли;      
	
	КомпоновщикНастроек.Настройки.ПараметрыВывода.УстановитьЗначениеПараметра("Заголовок", Заголовок);
	
	//Сообщить(Заголовок);
КонецПроцедуры



Функция НайтиПользовательскийПараметр(КомпоновщикНастроек, ПараметрКомпоновкиДанных)
	Для Каждого ТекЭлемент ИЗ КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
		Попытка
		Если ТекЭлемент.Параметр = ПараметрКомпоновкиДанных Тогда
			Возврат ТекЭлемент;
		КонецЕсли;
		Исключение
		КонецПопытки;
	КонецЦикла;
КонецФункции

Дело в том, что при формировании отчета, у которого нет формы, ПриКомпоновкеРезультата не вызывается.

Поэтому приходится использовать другое событие. Отрабатывает корректно:

Среда: БП 3.0.147.25. Объем: 0.6 час.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментариев 10

  1. rzd:

    >>Дело в том, что при формировании отчета, у которого нет формы, ПриКомпоновкеРезультата не вызывается

    Очень смелое утверждение, требующее доказательств.

    • проверь в любой БСП отладчиком.

      • rzd:

        Проверь. Только нужно отловить фоновое задание

        • проверял. даже сообщить вставлял. это известная тема.

          • rzd:

            Известная в узких кругах?
            Именно поэтому логика в типовых отчетах по расчетам с партнерами вынесена в эту процедуру?
            Сообщить в фоновом задании это сильно

          • если отчет вызывается из формы отчета, то увы, не работает. Тупо не вызывает ее.
            Поменяй на запись журнала регистрации если не веришь.

  2. rzd:

    Повторю вопрос, как все-таки умудряется работать типовой отчет «РасчетыСКлиентами» в УТ/КА/ЕРП с методом ПриКомпоновкеРезультата?
    Ну и легкое гугление дает первую же ссылку https://forum.infostart.ru/forum9/topic289640/

    • Нельзя безоговорочно верить комментариям в интернете. Я видел как раз эту ветку. Но не отрабатывает. Просто проверь.
      Хотя может и отрабатывает, уже не смогу проверить, задачу сделал. Если интересно — проверь.
      Хотя у меня был такой нюанс, что отчет — внешний, без формы, на СКД. Возможно, там не отрабатывает.
      Причем если его добавить как доп. внешний, возможно и будет отрабатывать.

      • rzd:

        Не надо юлить и гадать «отрабатывает/не отрабатывает», надо знать. Ибо знание — сила!

        • Знание добывается практически. Время — деньги. На подобные исследования бюджет отсутствует.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *