Одна обработка, чтобы править всеми

03.08.15

Задачи пользователя - Рабочее место

Внешняя обработка, из которой можно открывать другие внешние обработки с вашего файлового ресурса

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

Наименование Файл Версия Размер
Дополнительные возможности
.epf 14,88Kb
43
.epf 1.0 14,88Kb 43 Скачать

Предлагаю вашему вниманию обработку Дополнительные возможности. Она может быть полезна, если у вас много однотипных баз, в которых используется много ваших внешних обработок, которые к тому же часто меняются. В данной обработке вы указываете каталог, в котором лежат все ваши *.epf и *.erf файлы, и обработка строит деревья с иерархией подкаталогов как в файловой системе:

 

    

 

При двойном щелчке по любой из обработок она программно откроется в вашей базе (обработка Дополнительные возможности при этом закроется). Это скромная альтернатива подсистеме "Дополнительные отчеты и обработки" в БСП. При изменении/доработке какой-либо из ваших внешних обработок вам не нужно будет распространять ее по всем вашим базам, повторно регистрировать в справочнике "Дополнительные обработки" или совершать какие-либо другие действия.

Внешние отчеты вынесены на отдельную закладку:

 

    

 

Для того, чтобы у всех пользователей обработка сразу "смотрела" на один и тот же каталог, зайдите в функцию МестоРасположенияПоУмолчанию() в модуле объекта и укажите там расположение по умолчанию. Вот как выглядит сам каталог, который обработка Дополнительные возможности сканирует для построения деревьев на скриншотах выше:

 

    

 

Для конфигураций на обычном приложении предусмотрена такая же форма, как и для управляемого приложения. Обработку можно открывать интерактивно (через "Файл -> Открыть"), можно подключить как внешнюю обработку.

 

    

 

Но самый большой спектр возможностей вы получите, если включите ее в свою конфигурацию. Это даст вам возможность буквально одной строчкой программно вызывать методы внешних обработок, располагающихся в каталоге по умолчанию. Для этого вам нужно добавить обработку Дополнительные возможности в дерево метаданных, а также скопировать в модуль менеджера (по умолчанию он будет пустой) следующий код. Обратите внимание, что вам также потребуется создать небольшую процедуру ЗапускФоновогоМетода в своем общем модуле (это связано с тем, что в фоне можно выполнять только процедуры общих модулей).

 

Функция   ПодключитьДополнительнуюОбработку(Знач ИмяОбработки, БезопасныйРежим = Ложь) Экспорт
	
	ДополнительныеВозможности = Обработки.ДополнительныеВозможности.Создать();
	Возврат ДополнительныеВозможности.ПодключитьДополнительнуюОбработку(ИмяОбработки, БезопасныйРежим);
	
КонецФункции 
	

Функция   ВыполнитьФункцию(ИмяОбработки, ИмяФункции, МассивПараметров = Неопределено) Экспорт
	
	ДополнительныеВозможности = Обработки.ДополнительныеВозможности.Создать();
	Возврат ДополнительныеВозможности.ВыполнитьФункцию(ИмяОбработки, ИмяФункции, МассивПараметров)
	
КонецФункции	


Процедура ВыполнитьПроцедуру(ИмяОбработки, ИмяПроцедуры, МассивПараметров = Неопределено) Экспорт
	
	ДополнительныеВозможности = Обработки.ДополнительныеВозможности.Создать();
	ДополнительныеВозможности.ВыполнитьПроцедуру(ИмяОбработки, ИмяПроцедуры, МассивПараметров);
	
КонецПроцедуры



Функция   ЗапуститьПроцедуруВФоне(ИмяОбработки, ИмяПроцедуры, МассивПараметров = Неопределено, Ключ = Неопределено) Экспорт
	
	
	НовыйМассив = Новый Массив;
	НовыйМассив.Добавить(ИмяОбработки);
	НовыйМассив.Добавить(ИмяПроцедуры);
	НовыйМассив.Добавить(МассивПараметров);
	
	Если Ключ = Неопределено Тогда
		Ключ = Строка(Новый УникальныйИдентификатор())
	КонецЕсли;	
	
	АдресФоновогоМетода = АдресФоновогоМетода();
	Описание = "Фоновое выполнение процедуры """ + ИмяПроцедуры + """ внешней обработки """ + ИмяОбработки + """"; 
	
	Попытка
		ПараметрыОтбора = Новый Структура();
		ПараметрыОтбора.Вставить("Ключ", Ключ);
		ПараметрыОтбора.Вставить("ИмяМетода", АдресФоновогоМетода);
		ПараметрыОтбора.Вставить("Состояние", СостояниеФоновогоЗадания.Активно);
		НайденныеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(ПараметрыОтбора);
		Если НайденныеЗадания.Количество() > 0 Тогда
			Сообщить("Уже существуют активные фоновые задания с такими параметрами", СтатусСообщения.Важное);
			Возврат Ложь
		КонецЕсли;	
		
		ФоновоеЗадание = ФоновыеЗадания.Выполнить(АдресФоновогоМетода, НовыйМассив, Ключ, Описание) 
	Исключение
		Сообщить(ОписаниеОшибки());
		Возврат Ложь
	КонецПопытки;
	
	Возврат Истина
	
	
КонецФункции	


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



Пример вызова метода внешней обработки выглядит так:

Обработки.ДополнительныеВозможности.ВыполнитьПроцедуру("Синхронизация с доменом", "Синхронизировать");



Пример вызова метода внешней обработки в фоновом режиме:

Обработки.ДополнительныеВозможности.ЗапуститьПроцедуруВФоне("Служебные\Обмен данными с узлами", "ВыполнитьОбмен");



Можно и нужно использовать относительное расположение обработки в каталоге по умолчанию. Обработка "Обмен данными с узлами.epf" находится в каталоге \\FileStore\Public\1C\Служебные

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

Единая обработка Дополнительные возможности Обработки из каталога

См. также

АРМ Начальника производства и АРМ Рабочего цеха для 1С:УНФ. Цифровое производство малого и среднего бизнеса

Рабочее место Производство готовой продукции (работ, услуг) Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Управленческий учет Платные (руб)

Расширение для 1С:УНФ с комплектом из двух АРМ: «АРМ для начальника производства» и «АРМ для рабочего цеха». «АРМ Начальника производства» позволяет анализировать общую картину состояния заказов покупателей и наличие конечных комплектующих и сырья для производства заказанной продукции. Есть возможность направлять заказы в производственную работу (в случае, если заказанную продукцию нужно произвести), резервировать и отгружать готовую продукцию. «АРМ рабочего цеха» позволяет обычным работникам оперативно закрывать производственные задания (оформлять документы выпуска) сразу в программе 1С.

14400 руб.

15.09.2017    48931    79    41    

85

Мастер ТТН. Версия ПРОФ

Оптовая торговля Рабочее место Создание на основании Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Полнофункциональное расширение для формирования и ведения учета перевозочных документов всех видов (ТН, ТТН, ЭТрН). Печать документов или отправка через ЭПД (Электронный перевозочный документооборот). Поддержка регистрации нескольких перевозок на одну финансовую реализацию (в виде УПД, например), а также одной перевозки на основании нескольких финансовых реализаций. Формирование всех сопроводительных документов из одной отгрузки. Формирование реестра грузосопроводительных документов, доверенности менеджеров для указания ответственных лиц (руководитель, главный бухгалтер, кладовщик) организации для пользователей ИБ. Гибкая настройка функциональности под потребности организации.

2298 руб.

18.04.2017    46783    204    41    

78

Помощник ЕГАИС для 1С:Розница 2.2/2.3. Инвентаризация, запросы, проверка ТТН

Рабочее место Розничная торговля Обмен с ГосИС Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Акцизы Платные (руб)

Обновление сопоставлений алкогольных классификаторов, инвентаризация по марке, проверка накладных по check1.fsrar.ru, поиск продукции по акцизке, запрос новых акцизных марок и многое другое!

10200 руб.

05.01.2016    142682    455    693    

221
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. МимохожийОднако 141 05.08.15 09:05 Сейчас в теме
Только для обычного интерфейса?
3. nixel 1403 05.08.15 11:32 Сейчас в теме
(1) МимохожийОднако, под УФ рекомендую использовать http://infostart.ru/public/239307/
5. nick-max 249 05.08.15 16:01 Сейчас в теме
(1) МимохожийОднако, и для Управляемых форм и для Обычных.

(3) nixel, Спасибо, похоже - отличная обработка
2. Alik_1c 05.08.15 09:23 Сейчас в теме
{Форма.ФормаОбычная.Форма(54)}: Поле объекта не обнаружено (Реквизит)
ОформлениеСтроки.Ячейки.Имя.УстановитьКартинку(?(ДанныеСтроки.ЭтоСтрока, БиблиотекаКартинок.Реквизит,
УПП ред. 1.3

почему такая ошибка выходит?
4. nick-max 249 05.08.15 15:57 Сейчас в теме
(2) Alik_1c,

Довольно странно. Проверял на БП 3.0.40.39, БП 2.0.58.5, УТ 11.0.9.15, ЗУП 2.5.94.1, ЗУП 3.0.23.120, КА 1.1.54.2, УПП 1.3.53.1. Все на платформе 8.3.6.2041. Вот скрин:


Открыть в полном размере



Может у вас настолько старая платформа, что в ней нет стандартной картинки "Реквизит" в Библиотеке картинок? Самое простое в этом случае - закомментируйте содержимое процедуры ДеревоПриВыводеСтроки. У вас будет дерево без иконок, но на функциональность это никак не повлияет.
6. echo77 1868 06.08.15 21:16 Сейчас в теме
Штука позволит пользователям без права запуска внешних отчетов и обработок открыть их
Оставьте свое сообщение