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





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

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

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

 

  • Отчет – ОтчетОбъект, из которого осуществляется вызов внешней обработки.
  • ТабличныйДокумент — ТабличныйДокумент, в который осуществляется вывод отчета.
  • Отказ — флаг, определяющий необходимость дальнейшего построения отчета.
Процедура Инициализировать() Экспорт

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

МакетПодписей = ПолучитьМакет("Макет");
ОбластьПробел = МакетПодписей.ПолучитьОбласть("Пробел");
ДополнительныеПараметры.ТабличныйДокумент.Вывести(ОбластьПробел);
Область = МакетПодписей.ПолучитьОбласть("Подписи");
Для Каждого стр из Подписи Цикл
Если НЕ стр.Пометка Тогда Продолжить КонецЕсли;
ДополнительныеПараметры.ТабличныйДокумент.Вывести(ОбластьПробел);
Область.Параметры.Должность = стр.Должность;
Область.Параметры.ФИО  = стр.ФИО;
ДополнительныеПараметры.ТабличныйДокумент.Вывести(Область);
КонецЦикла;

КонецПроцедуры

 

 

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

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

 

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

 

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

9 Comments

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

    Очень жаль, что 1С зажала эту фичу для Бухгалтерии предприятия.

    Reply
  2. TMV

    Это ж надо было такое пропустить..

    Reply
  3. DAnry

    Очень интересно, спасибо! Это мы не проходили. Как говорится: «Век живи, век учись!»

    Reply
  4. DAnry

    М-да, рано радовался. В типовых конфах для України описаный механизм не реализирован. Очень жаль.

    Reply
  5. pm74
    для неуправляемого интерфейса …

    ))

    Reply
  6. anig99

    (5) (4) (1) Действительно, очень странно, что 1с забросило это направление.

    Reply
  7. bes-kkm

    Процедура Инициализировать() Экспорт

    Форма = ПолучитьФорму(«Форма»);

    Ответ = Форма.ОткрытьМодально();

    Если Ответ <> Истина Тогда

    Возврат;

    КонецЕсли;

    МакетПодписей = ПолучитьМакет(«Макет»);

    ОбластьПробел = МакетПодписей.ПолучитьОбласть(«Пробел»);

    ДополнительныеПараметры.ТабличныйДокумент.Вывести(ОбластьПробел);

    Область = МакетПодписей.ПолучитьОбласть(«Подписи»);

    Для Каждого стр из Подписи Цикл

    Если НЕ стр.Пометка Тогда Продолжить КонецЕсли;

    ДополнительныеПараметры.ТабличныйДокумент.Вывести(ОбластьПробел);

    Область.Параметры.Должность = стр.Должность;

    Область.Параметры.ФИО = стр.ФИО;

    ДополнительныеПараметры.ТабличныйДокумент.Вывести(Область);

    КонецЦикла;

    Reply
  8. anig99

    (7) это что?

    Reply
  9. kvazymoda

    «неуправляемый интерфейс», это конечно жесть. Из оперы: Перепровести, пересоздать, перевойти, перполучить ЗП. 😎

    Reply

Leave a Comment

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