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

03.08.15

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

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

Файлы

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

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

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Предлагаю вашему вниманию обработку Дополнительные возможности. Она может быть полезна, если у вас много однотипных баз, в которых используется много ваших внешних обработок, которые к тому же часто меняются. В данной обработке вы указываете каталог, в котором лежат все ваши *.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С» позволяет принимать в ремонт оборудование (компьютеры, бытовая техника и т.п.), оформлять заявки инженеров на посещение клиентов и вести начисление заработной платы для сотрудников. Позволяет наладить автоматизированный учет в сервисном центре на уже существующей базе.

16800 руб.

01.11.2012    100881    119    1    

130

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

Данная обработка - удобный инструмент в 1С для менеджеров по продажам для повседневной работы с клиентами. Позволяет упростить весь цикл работы с клиентом: первичная консультация по наличию товара, быстрое оформление нового заказа, контроль исполнения заказов. Обработка будет особенно актуальна для компаний, работающих, в основном, с юридическими лицами.

18000 руб.

08.11.2016    63956    48    23    

69

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

Расширение, добавляющее в конфигурации 1С:УТ 11.5, КА 2.5 и ERP 2.5 и БП 3.0 автомобили, марки, модели, нормо-часы. Предусмотрена запись на ремонт, документ заказ наряд, вывод ведомости по заказ нарядам, вывод выработки мастеров.

14400 руб.

29.07.2021    19895    37    18    

41

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

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

2670 руб.

18.04.2017    51382    268    43    

96

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

Удобное отображение аналогов номенклатуры в 1С для УТ 11, КА 2, ERP прямо в списке. Легкое добавление и удаление аналогов к номенклатуре. Доработка в виде расширения, изменение конфигурации не требуется.

12500 руб.

19.03.2019    52366    439    81    

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

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

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