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

03.08.15

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Дополнительные возможности
.epf 14,88Kb ver:1.0
43
43 Скачать (1 SM) Купить за 1 850 руб.

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

 

    

 

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

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

 

    

 

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

 

    

 

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

 

    

 

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

 

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

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


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



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


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



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

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



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

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



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

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

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

См. также

Зарплата Производство готовой продукции (работ, услуг) Учет рабочего времени Рабочее место Бизнес-аналитик Пользователь Руководитель проекта Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Торговля и склад 7.7 Бытовые услуги, сервис Оптовая торговля, дистрибуция, логистика Электротехника и микроэлектроника Управленческий учет Платные (руб)

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

14800 руб.

01.11.2012    94158    115    1    

118

SALE! 10%

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

Помощник ЕГАИС для 1С Розница 2.2/2.3 - обновление сопоставлений алкогольных классификаторов, инвентаризация по марке, проверка накладных по check1.fsrar.ru, поиск продукции по акцизке, запрос новых акцизных марок и многое другое!

12000 10800 руб.

05.01.2016    146876    509    700    

227

Производство готовой продукции (работ, услуг) Рабочее место Пользователь Оперативный учет 8.3.14 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Расширение, добавляющее в Вашу УТ 11, КА 2.5 или ERP 2.5 автомобили, марки, модели, нормо-часы. Есть запись на ремонт, документ заказ наряд, вывод ведомости по заказ нарядам, вывод выработки мастеров.

7200 руб.

29.07.2021    17095    28    17    

34

SALE! 15%

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

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

2298 1953 руб.

18.04.2017    48616    229    43    

89

Рабочее место Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Подсистема УРС - это инструмент для гибкой настройки интерфейсов пользователей типовых и измененных конфигураций. Создаем рабочие места для любой должности, выводим отчеты и диаграммы, компонуем данные в планировщиках, создаем сценарии действий - без программирования. Встраивается в любую конфигурацию от "Управления торговлей 10.3" (БП, КАА и т.д.) до "Управления производственным предприятием (ERP) 2.0" (УНФ, УТ11 и т.д.) на платформе 8.3

6900 руб.

13.07.2015    31084    4    27    

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

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

почему такая ошибка выходит?
4. nick-max 251 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 1906 06.08.15 21:16 Сейчас в теме
Штука позволит пользователям без права запуска внешних отчетов и обработок открыть их
Оставьте свое сообщение