Параметры для дополнительных отчетов и обработок БСП

18.10.17

Разработка - БСП (Библиотека стандартных подсистем)

Еще один вариант передачи параметров во внешние обработки БСП. Параметры привязываются к командам дополнительной обработки и хранятся в элементе справочника.

Данный подход подойдет для конфигураций с БСП. Реализацию разделим на три этапа.

Этап 1.  Внесение изменений в конфигурацию (неприятный этап). Добавление табличной части в справочник  "ДополнительныеОтчетыИОбработки"

Этап 2. Добавление табличной части на форму Дополнительной обработки с настройкой обработчиков событий для связки параметров с командами. Для этого можно использовать механизм расширений конфигурации и выглядеть например как на картинке.

Этап 3. Использование параметров непосредственно во внешней обработке. Рассмотрю на примере внешней печатной формы.

  1.  Добавим в обработку табличную часть аналогично созданной на  Этапе 1 за исключением реквизита "Идентификатор" (можно скопировать и удалить лишний реквизит)   
  2.   Получение параметров. В ВПФ их можно получить в  экспортной процедуре ПЕЧАТЬ.. Для этого нам нужна ссылка на  дополнительную обработку и имя команды. Ссылку получим из   ПараметрыВывода.ДополнительнаяОбработкаСсылка, а имя команды из КоллекцияПечатныхФорм. Полученные параметры добавим в созданную Табличную часть.. Пример процедуры ПЕЧАТЬ.      
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
	ДополнительнаяОбработкаСсылка = ПараметрыВывода.ДополнительнаяОбработкаСсылка;
	ПараметрыОтбора = Новый Структура;
	
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетФактураТ") Тогда
		ПараметрыОтбора.Вставить("Идентификатор", "СчетФактураТ");
        НайденныеСтроки = ДополнительнаяОбработкаСсылка.Сити_Параметры.НайтиСтроки(ПараметрыОтбора);
		Если НайденныеСтроки.Количество() > 0 Тогда
			Для Каждого Строка Из НайденныеСтроки Цикл
				НовыйПараметр = Сити_Параметры.Добавить();
				НовыйПараметр.Имя      = Строка.Имя;
				НовыйПараметр.Значение = Строка.Значение;
			КонецЦикла;
		КонецЕсли;	
		
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"СчетФактураТ", "Счет-фактура",
		ПечатьСчетовФактур981(МассивОбъектов, ОбъектыПечати, "ТекстЗапроса"));
	ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетФактураД") Тогда
		//
	ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетФактура981") Тогда
		//
	КонецЕсли;
	
КонецПроцедуры
  1. Использование параметров в печатной форме.
Процедура ВывестиСчетФактуруВТабличныйДокумент(ТабДокумент, Макет, ВыборкаСФ, ЭтоУниверсальныйПередаточныйДокумент = Ложь)
	
    //.....
    //..... 
	
	ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
	
    //Передача параметров в Табличный документ 
	СтрутураПараметровВПФ = Новый Структура;	
	Для Каждого Строка Из Сити_Параметры Цикл
		СтрутураПараметровВПФ.Вставить(строка.Имя, Строка.Значение);
	КонецЦикла;	
    ОбластьМакета.Параметры.Заполнить(СтрутураПараметровВПФ);
	
	ТабДокумент.Вывести(ОбластьМакета);
	
КонецПроцедуры

 

См. также

Поиск изменений объектов по реквизитам для любых конфигураций с подсистемой "Версионирование объектов" (БСП 3.0.X.X)

Журнал регистрации Поиск данных БСП (Библиотека стандартных подсистем) Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Отчет использует данные версий объектов (кто? что? когда изменял?) из регистра подсистемы "Версионирование объектов" (История изменений) . Если вы знаете, что изменилось, но не знаете, в каком конкретно объекте и хотите это понять, то этот отчет для вас! Он предназначен для поиска объектов, в которых изменялись искомые реквизиты за указанный отрезок времени. Работает только с теми объектам, версионирование которых включено! Для любых конфигураций с БСП 3.0.X.X.

1 стартмани

05.09.2019    11748    66    razars    5    

7

БСП: Дополнительные отчеты и обработки - одна обработка, несколько форм

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Бесплатно (free)

Как в одной дополнительной обработке разместить несколько форм с типом команды "ОткрытиеФормы"?

29.07.2019    21905    dsdred    10    

59

Анализ ролей пользователей БСП

БСП (Библиотека стандартных подсистем) Роли и права Управление правами Конфигурации 1cv8 Абонемент ($m)

Внешний отчет для анализ настройки Ролей / Профилей / Групп доступа пользователей 1С. Отчет работает с конфигурациями написанными на БСП версии 2.1 и выше.

1 стартмани

20.07.2019    16418    156    leoxz    3    

21

Универсальные уведомления для БСП

Email рассылки SMS рассылки БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Расширение, позволяющее создавать настраиваемые уведомления, с использованием стандартного функционала БСП "Шаблоны сообщений".

1 стартмани

10.06.2019    21722    49    wizard.ilmir02    11    

16

Подсистема "Варианты отчетов". Используете ли Вы ее правильно?

Работа с интерфейсом БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Небольшая история про использование подсистемы "Варианты отчетов" из БСП. Используете ли Вы ее правильно?

04.06.2019    84052    Infostart    65    

349

Графики работы из БСП

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Не очень давно на канале 1С:БСП была опубликована заметка по использованию Графиков работы и Календарных графиков.

1 стартмани

23.05.2019    6357    fenixnow    0    

14

Подсистема БСП «Управление доступом», основные объекты и регистры

БСП (Библиотека стандартных подсистем) Роли и права Платформа 1С v8.3 Управляемые формы Управление правами Конфигурации 1cv8 Бесплатно (free)

Основные принципы работы подсистемы «Управление доступом» из состава БСП. Виды доступа, ограничение доступа на уровне записей. Описание основных объектов и регистров, используемых подсистемой.

23.05.2019    54829    ids79    9    

186
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Bassgood 1428 18.10.17 19:30 Сейчас в теме
(0) Вот здесь это реализовано без изменения конфигурации: https://infostart.ru/public/627824/
+
2. duhh 236 19.10.17 12:19 Сейчас в теме
(1) И правда, надо было сначала поискать, а потом выкладывать статью.
+
4. Bassgood 1428 19.10.17 12:55 Сейчас в теме
(2) Да, все верно, указанная мною обработка заточена на установку параметров выполнения регл. задания (как наиболее наболевшее), но в целом ее можно довести до более универсального варианта - реализовать привязку параметров обработки к ее командам (например, в виде табличной части) и использовать ее не только для выполнения серверных команд.
Просто во внешних обработках, предназначенных для выполнения регл. заданий, редко используется несколько команд запуска этих самых заданий, обычно под каждое регл. задание создается отдельная внешняя обработка с одной командной запуска (но в целом, никто не мешает создать в обработке нужное количество параметров под каждую команду, а визуально разграничить их между собой уже в форме установки параметров).
+
3. duhh 236 19.10.17 12:32 Сейчас в теме
(1)Вот только, судя по описанию, в вашем подходе параметры не привязываются к командам, а мне нужно было, именно для каждой команды обработки свои параметры. Но скорей всего при вашем подходе это тоже можно реализовать, добавив к параметрам еще и идентификатор команды.
+
5. user705393_den 06.10.23 13:19 Сейчас в теме
(1) У вас платная обработка. А здесь бесплатно. Вот вам и разница существенная.
6. Bassgood 1428 06.10.23 13:32 Сейчас в теме
(5) Во-первых, она условно-платная (за стартмани, а не за рубли, то бишь для авторов публикаций на ИС практически даром), во-вторых, если для Вас 100 руб. это существенная сумма, ради которой Вы готовы вносить в типовую конфигурацию свои изменения (а если она стоит на поддержке, то снимать с нее) с реализацией своего собственного механизма, вместо того, чтобы воспользоваться уже готовым и понятным шаблоном для этого дела, использующий типовые механизмы конфигурации (а не добавляет в нее новый "велосипед"), то этот вариант, конечно, для Вас :)
+
7. user705393_den 06.10.23 14:15 Сейчас в теме
(6) да это все не важно. Факт есть факт. Здесь бесплатная, у вас платная. Хоть за 5 руб. И вы сюда вставили свою обработку, чтобы за счет этой статьи продать ее. Вот и все.
+
8. Bassgood 1428 06.10.23 14:43 Сейчас в теме
(7) У вас всегда есть выбор - приобретать что-то "платное" и более качественное, или бесплатно изобретать свой очередной "велосипед", это уж кому как нравится.
p.s. От автора данной публикации возражений я не увидел, но Вас это почему-то очень сильно волнует? ;)
Не вижу от Вас каких-то бесплатных и качественных разработок на ИС, почему не делитесь ими, или нет желания бесплатно тратить на это время? ;)
+
Оставьте свое сообщение