gifts2017

Обработки, подключаемые к отчету: добавляем список подписывающих лиц к отчету (без изменения конфигурации)

Опубликовал Александр Медведев (anig99) в раздел Программирование - Инструментарий

Используем штатный механизм универсального отчета для неуправляемого интерфейса - обработки подключаемые к отчету

Работа с данным видом немного отличается от других видов подключаемых обработок. Здесь точно также используется процедура Инициализировать, но в ней нет параметров. Необходимые параметры передаются через структуру ДополнительныеПараметры. Т.е. в обработке должен быть реквизит ДополнительныеПараметры типа Произвольный.

В данную структуру передается следующие параметры:

 

  • Отчет – ОтчетОбъект, из которого осуществляется вызов внешней обработки.
  • ТабличныйДокумент - ТабличныйДокумент, в который осуществляется вывод отчета.
  • Отказ - флаг, определяющий необходимость дальнейшего построения отчета.
Процедура Инициализировать() Экспорт
	
	Форма = ПолучитьФорму("Форма");
	Ответ = Форма.ОткрытьМодально();
	Если Ответ <> Истина Тогда
		Возврат;
	КонецЕсли;
	
	МакетПодписей = ПолучитьМакет("Макет");
	ОбластьПробел = МакетПодписей.ПолучитьОбласть("Пробел");
	ДополнительныеПараметры.ТабличныйДокумент.Вывести(ОбластьПробел);
	Область = МакетПодписей.ПолучитьОбласть("Подписи");
	Для Каждого стр из Подписи Цикл
		Если НЕ стр.Пометка Тогда Продолжить КонецЕсли;
		ДополнительныеПараметры.ТабличныйДокумент.Вывести(ОбластьПробел);
		Область.Параметры.Должность = стр.Должность;
		Область.Параметры.ФИО		= стр.ФИО;
		ДополнительныеПараметры.ТабличныйДокумент.Вывести(Область);
	КонецЦикла;
	
КонецПроцедуры

 

 

Т.е. для грамотного программиста тут можно много чего натворить со стандартными отчетами без изменения конфигурации.

Данные для вывода вводятся через форму, которая появляется при возове обработки. Данные можно сохранить, чтобы не набирать каждый раз. Так как списки подписывающих меняются, то есть колонка, которой можно включить/отключить использование конкретной строки.

 

Добавлять можно во многие типовые отчеты на основе универсальных отчетов. В отчете должен быть реквизит УниверсальныйОтчет с типом Отчеты.УниверсальныйОтчет и отчет должен формироваться с помощью процедуры УниверсальныйОтчет.СформироватьОтчет(ТабличныйДокумент,,, ЭтотОбъект); 

 

Принимаю заказы на разработку и доработку.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ПодписиВОтчет.epf
.epf 9,22Kb
31.01.14
38
.epf 9,22Kb 38 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Макас (makas) 31.01.14 15:30
Используем штатный механизм универсального отчета для неуправляемого интерфейса - обработки подключаемые к отчету



Очень жаль, что 1С зажала эту фичу для Бухгалтерии предприятия.
2. TMV 03.02.14 20:44
Это ж надо было такое пропустить..
3. DAnry (DAnry) 05.02.14 14:55
Очень интересно, спасибо! Это мы не проходили. Как говорится: "Век живи, век учись!"
4. DAnry (DAnry) 05.02.14 14:59
М-да, рано радовался. В типовых конфах для України описаный механизм не реализирован. Очень жаль.
5. p m (pm74) 06.02.14 08:48
для неуправляемого интерфейса ...
))
6. Александр Медведев (anig99) 06.02.14 09:08
(5) (4) (1) Действительно, очень странно, что 1с забросило это направление.
7. Геннадий Малюков (bes-kkm) 06.02.14 16:36
Процедура Инициализировать() Экспорт

Форма = ПолучитьФорму("Форма");
Ответ = Форма.ОткрытьМодально();
Если Ответ <> Истина Тогда
Возврат;
КонецЕсли;

МакетПодписей = ПолучитьМакет("Макет");
ОбластьПробел = МакетПодписей.ПолучитьОбласть("Пробел");
ДополнительныеПараметры.ТабличныйДокумент.Вывести(ОбластьПробел);
Область = МакетПодписей.ПолучитьОбласть("Подписи");
Для Каждого стр из Подписи Цикл
Если НЕ стр.Пометка Тогда Продолжить КонецЕсли;
ДополнительныеПараметры.ТабличныйДокумент.Вывести(ОбластьПробел);
Область.Параметры.Должность = стр.Должность;
Область.Параметры.ФИО = стр.ФИО;
ДополнительныеПараметры.ТабличныйДокумент.Вывести(Область);
КонецЦикла;
andpyxa; CratosX; +2 Ответить 1
8. Александр Медведев (anig99) 06.02.14 16:39
9. Андрей Ямкин (kvazymoda) 15.09.14 13:46
"неуправляемый интерфейс", это конечно жесть. Из оперы: Перепровести, пересоздать, перевойти, перполучить ЗП. 8-)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа