1с как получить имя внешней обработки

Обновлено: 07.07.2024

Как программно открыть внешнюю обработку?

В версии 8.2 приложение не работает непосредственно с локальными файлами, расположенными на компьютере. Файлы должны находиться на сервере.

Поэтому для открытия внешней обработки нужно выполнить следующую последовательность действий:

  • Передать файл внешней обработки на сервер
  • Подключить внешнюю обработку
  • Открыть форму внешней обработки

Чтобы передать файл на сервер, его нужно поместить во временное хранилище. Для этого сначала на клиенте, в обработчике команды открытия внешней обработки, методом глобального контекста ПоместитьФайл() мы помещаем файл из локальной файловой системы во временное хранилище.

В четвертом параметре этого метода указывается признак интерактивного режима выбора файла внешней обработки. Если этот параметр Истина , то появляется диалог выбора файла, в котором можно выбрать файл для помещения в хранилище. В нашем примере этот параметр - Ложь , а путь к файлу, данные из которого будут помещены во временное хранилище, явно задан во втором параметре метода.

При вызове метода ПоместитьФайл() первым его параметром, АдресХранилища , мы указываем пустую строку. После выполнения метода в нее будет помещен путь к файлу внешней обработки во временном хранилище. Этот путь мы используем для того, чтобы подключить внешнюю обработку.

Подключение внешней обработки выполняется на сервере методом Подключить() менеджера внешних обработок. В качестве параметра ему передается путь к файлу внешней обработки во временном хранилище - АдресХранилища . Возвращает этот метод имя подключенной внешней обработки, - ИмяОбработки , - которое мы используем для того, чтобы открыть форму этой обработки.

Для открытия формы внешней обработки используется метод глобального контекста ОткрытьФорму() , в который передается имя формы в виде следующей строки: "ВнешняяОбработка."+ ИмяОбработки +".Форма" . В приведенном варианте открывается основная форма обработки. Можно открыть также и неосновную форму обработки - об этом рассказывается в вопросе Как получить неосновную форму обработки?.

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

Подробнее о режиме безопасного исполнения программного кода можно прочитать в документации: 1С:Предприятие 8.2. Руководство разработчика , Раздел 5.5.4.3: Объекты конфигурации - Ветвь конфигурации «Общие» - Роли и права доступа - Безопасный режим работы .

Подробнее об использовании метода ПоместитьФайл() можно прочитать в синтакс-помощнике: Глобальный контекст - Процедуры и функции работы с файлами.

Подробнее об использовании метода Подключить() можно прочитать в синтакс-помощнике: Прикладные объекты - Внешние обработки и отчеты - ВнешниеОбработкиМенеджер - Методы.


Обработки используются для выполнения различных манипуляций с данными, а также для реализации различных сервисных функций. Реквизиты и табличные части обработки не сохраняются в базе данных. При создании обработки в базе данных не создаются никакие таблицы.

Примеры обработок: выгрузка документа в Excel, загрузка из текстового файла, групповая обработка документов, подбор в документы продажи и т.п.

Обработки находятся в узле Обработки дерева метаданных:

Обработка

Основные настройки обработки указываются на закладках Данные и Формы.

На закладке Данные можно создать реквизиты и табличные части обработки. К реквизитам обработки и табличным частям можно обращаться по имени в модуле объекта обработки:

Обработка

На закладке Формы можно создать форму обработки, с помощью которой можно предоставить интерфейс для взаимодействия с пользователм:

Обработка

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

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

Чтобы создать внешнюю обработку нужно в конфигураторе в верхнем меню выбрать Файл -> Новый (или нажать на кнопку с белым листом ниже):

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

В окне выбора вида документа нужно выделить пункт Внешняя обработка и нажать ОК:

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

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

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

Важно отметить, что у внешней обработки нет модуля менеджера.

Для сохранения внешней обработки нужно выбрать в верхнем Меню Файл -> Сохранить (или нажать на кнопку с дискетой ниже):

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

Указать путь к файлу, имя файла и нажать Сохранить:

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

Внешняя обработка сохраняется в файле с расширением .epf.

Для открытия внешней обработки в пользовательском режиме нужно в главном меню выбрать Файл -> Открыть и выбрать сохраненный файл внешней обработки:

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

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

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

В этом случае текущая обработка будет заменена на внешнюю.

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

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

Программная работа с обработками

Программно нельзя добавить новую обработку в состав конфигурации или создать внешнюю обработку. Но можно создать программный объект обработки и потом вызывать ее экспортные методы из модуля объекта. Например, в модуле объекта обработки есть следующая процедура:

Gigi --> Gigi



Просмотр профиля Bernet --> Bernet



Просмотр профиля Gigi @ Сегодня, 12:03 ,
У внешних обработок есть свойство "ИспользуемоеИмяФайла"
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница Gigi --> Gigi



Просмотр профиля

Bernet @ Сегодня, 12:51 ,
Большое спасибо .
Только чуть не понятно.

Далее рассмотрим, когда вызывается данный обработчик. Это зависит от типа объекта и его свойств. Так для, например, для справочника обработчик вызывается перед записью объекта; для документа: если разрешено проведение - при проведении, иначе при записи; для обработки : при вызове стандартных команд "OK", Да". Подробно это описано во встроенной справке. Но также есть возможность вызвать данный обработчик в произвольный момент, используя метод объекта ПроверитьЗаполнение(). Например, определить команду Проверить в форме документа:

Т.е. протестить свойство смог только так .
Вписал строку в модуль объекта:

andr_andrey --> andr_andrey



Просмотр профиля Bernet --> Bernet



Просмотр профиля

andr_andrey @ Сегодня, 14:10 ,
В обычных формах:

Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница Gigi --> Gigi



Просмотр профиля

andr_andrey @ Сегодня, 14:10 ,

Bernet @ Сегодня, 14:23 ,
Гууу . наконец то.
Спасибо . ша проверю . протестю по быстрому.

Gigi @ Сегодня, 14:40 ,

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

Она вписана в общий модуль конфы. и в файловой и той которая на сервере.
Но дело в том, что данная функция вызванная при открытии обработкой в файловом варианте находит указанный путь а в серверном нет..

Vofka --> Vofka



Просмотр профиля

Читайте также: