новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума

Запуск внешней обработки в произвольном модуле

  • Добавить свою публикацию
  • для этого требуется регистрация

Внешняя обработка

Ранее была написана внешняя обработка, позволяющая просматривать количество документов в базе, введенных за текущий день по дате документа. Для чего она была создана не суть важно. Форма обработки достаточно простая, как и реализация:

Изображение

Программный код обработки Вы можете посмотреть, скачав ее по ссылке в конце статьи. Мы же решим другую задачу. Нам нужно эту обработку запускать из меню "Сервис":

Изображение

По нажатию на кнопку обработка запускается с уже введенной текущей датой в поле "Дата проверки".

Запуск

Сначала добавим кнопку "Количество документов за сутки" в интерфейс "Полный" и создадим для нее процедуру-обработчик в общем модуле.

Изображение

Программный код процедуры-обработчика представлен на следующем листинге:

Процедура ПолныйДействие() Экспорт
	// Получаем ссылку на элемент справочника "Внешние обработки", 
	//в котором находися искомый файл обработки
	СсылкаНаОбработку = 
		Справочники.ВнешниеОбработки.НайтиПоНаименованию("Количество введенных документов", Истина);
	// Записываем двоичные данные файла обработки во временный файл
	ИмяФайла = ПолучитьИмяВременногоФайла();
	ДвоичныеДанные = СсылкаНаОбработку.ХранилищеВнешнейОбработки.Получить();
	ДвоичныеДанные.Записать(ИмяФайла);
	// Получаем форму внешней обработки
	Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
	// Открываем форму для пользователя
	Форма.Открыть();                   		
КонецПроцедуры

 В общих чертах последовательность действия такая:

  1. Получаем ссылку на элемент справочника "ВнешниеОбработки".
  2. Извлекаем двоичные данные файла обработки, сохраненные в найденном элементе справочника.
  3. Записываем полученные двоичные данные во временный файл.
  4. С помощью созданного файла получаем форму внешней обработки и открываем ее.
Таким образом, мы можем запускать внешние обработки/отчеты из любого модуля конфигурации, где доступен клиентский контекст.

Преимущества

Для чего это может понадобиться? Не легче ли добавлять обработки или очтеты непосредственно в конфигурацию?

 

Да, легче. Но что, если Вы часто дорабатываете обработку? Каждый раз при ее изменении обновлять информационную базу? Использовать динамическое обновление со всеми вытекающими рисками?

 

В таких случая как-раз и поможет вынос функционала во внешние обработки/отчеты, которые после модификации мы можем просто заменить в справочнике "Внешние обработки", а пользователям останется лишь перезапустить их. Никакого обновления не потребуется.

 

Использованная в статье обработка "Подсчет количества документов".

 
0
Читайте также
Настройка 1С предприятие
Доработка и изменение конфигураций и написание новых модулей 1С Предприятие для учета специфичных процессов это и есть настройка 1С.
Торговля комиссионнными товарами и УСН (УПП 8.1)
Операции, выполняемые при комиссионной торговле УСН (УПП 8.1)
Создание и работа с запросами (для начинающих)
Запросы, работа с ними, отладка
Разработки
Универсальная замена значений для ЛЮБОЙ конфигурации
Замена объектов на новые или перенос данных по счету
Проверка и групповая корректировка адресов в ЗУП на соответствие КЛАДР
Проверка правильного заполнения адресов 1С ЗиУП 8
Еще от автора
≡ к списку статей