1с как получить имя внешней обработки
Обновлено: 07.07.2024
Как программно открыть внешнюю обработку?
В версии 8.2 приложение не работает непосредственно с локальными файлами, расположенными на компьютере. Файлы должны находиться на сервере.
Поэтому для открытия внешней обработки нужно выполнить следующую последовательность действий:
- Передать файл внешней обработки на сервер
- Подключить внешнюю обработку
- Открыть форму внешней обработки
Чтобы передать файл на сервер, его нужно поместить во временное хранилище. Для этого сначала на клиенте, в обработчике команды открытия внешней обработки, методом глобального контекста ПоместитьФайл() мы помещаем файл из локальной файловой системы во временное хранилище.
В четвертом параметре этого метода указывается признак интерактивного режима выбора файла внешней обработки. Если этот параметр Истина , то появляется диалог выбора файла, в котором можно выбрать файл для помещения в хранилище. В нашем примере этот параметр - Ложь , а путь к файлу, данные из которого будут помещены во временное хранилище, явно задан во втором параметре метода.
При вызове метода ПоместитьФайл() первым его параметром, АдресХранилища , мы указываем пустую строку. После выполнения метода в нее будет помещен путь к файлу внешней обработки во временном хранилище. Этот путь мы используем для того, чтобы подключить внешнюю обработку.
Подключение внешней обработки выполняется на сервере методом Подключить() менеджера внешних обработок. В качестве параметра ему передается путь к файлу внешней обработки во временном хранилище - АдресХранилища . Возвращает этот метод имя подключенной внешней обработки, - ИмяОбработки , - которое мы используем для того, чтобы открыть форму этой обработки.
Для открытия формы внешней обработки используется метод глобального контекста ОткрытьФорму() , в который передается имя формы в виде следующей строки: "ВнешняяОбработка."+ ИмяОбработки +".Форма" . В приведенном варианте открывается основная форма обработки. Можно открыть также и неосновную форму обработки - об этом рассказывается в вопросе Как получить неосновную форму обработки?.
При работе в внешними обработками нужно учитывать, что по-умолчанию они запускаются в безопасном режиме исполнения программного кода. Это значит, что некоторые возможности встроенного языка будут для них недоступны. Если есть уверенность, что внешняя обработка не содержит вредоносного кода, ее можно подключить в обычном режиме исполнения программного кода. Для этого используется третий параметр метода Подключить() менеджера внешних обработок.
Подробнее о режиме безопасного исполнения программного кода можно прочитать в документации: 1С:Предприятие 8.2. Руководство разработчика , Раздел 5.5.4.3: Объекты конфигурации - Ветвь конфигурации «Общие» - Роли и права доступа - Безопасный режим работы .
Подробнее об использовании метода ПоместитьФайл() можно прочитать в синтакс-помощнике: Глобальный контекст - Процедуры и функции работы с файлами.
Подробнее об использовании метода Подключить() можно прочитать в синтакс-помощнике: Прикладные объекты - Внешние обработки и отчеты - ВнешниеОбработкиМенеджер - Методы.
Обработки используются для выполнения различных манипуляций с данными, а также для реализации различных сервисных функций. Реквизиты и табличные части обработки не сохраняются в базе данных. При создании обработки в базе данных не создаются никакие таблицы.
Примеры обработок: выгрузка документа в Excel, загрузка из текстового файла, групповая обработка документов, подбор в документы продажи и т.п.
Обработки находятся в узле Обработки дерева метаданных:
Основные настройки обработки указываются на закладках Данные и Формы.
На закладке Данные можно создать реквизиты и табличные части обработки. К реквизитам обработки и табличным частям можно обращаться по имени в модуле объекта обработки:
На закладке Формы можно создать форму обработки, с помощью которой можно предоставить интерфейс для взаимодействия с пользователм:
Внешние обработки
Помимо обработок, встроенных в состав конфигурации в 1С можно создавать внешние обработки, которые сохраняются как отдельный файл, с возможностью открытия в пользовательском режиме.
Чтобы создать внешнюю обработку нужно в конфигураторе в верхнем меню выбрать Файл -> Новый (или нажать на кнопку с белым листом ниже):
В окне выбора вида документа нужно выделить пункт Внешняя обработка и нажать ОК:
Откроется окно с настройками внешней обработки, где также как и для обычной обработки можно создать реквизиты, табличные части и формы обработки:
Важно отметить, что у внешней обработки нет модуля менеджера.
Для сохранения внешней обработки нужно выбрать в верхнем Меню Файл -> Сохранить (или нажать на кнопку с дискетой ниже):
Указать путь к файлу, имя файла и нажать Сохранить:
Внешняя обработка сохраняется в файле с расширением .epf.
Для открытия внешней обработки в пользовательском режиме нужно в главном меню выбрать Файл -> Открыть и выбрать сохраненный файл внешней обработки:
В этом случае текущая обработка будет заменена на внешнюю.
Программная работа с обработками
Программно нельзя добавить новую обработку в состав конфигурации или создать внешнюю обработку. Но можно создать программный объект обработки и потом вызывать ее экспортные методы из модуля объекта. Например, в модуле объекта обработки есть следующая процедура:
Gigi --> GigiУ внешних обработок есть свойство "ИспользуемоеИмяФайла"
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница Gigi --> Gigi
Bernet @ Сегодня, 12:51 ,
Большое спасибо .
Только чуть не понятно.
Т.е. протестить свойство смог только так .
Вписал строку в модуль объекта:
andr_andrey @ Сегодня, 14:10 ,
В обычных формах:
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница Gigi --> Gigi
andr_andrey @ Сегодня, 14:10 ,
Bernet @ Сегодня, 14:23 ,
Гууу . наконец то.
Спасибо . ша проверю . протестю по быстрому.
Gigi @ Сегодня, 14:40 ,
Это мне нужно так . от этого бесконечного гема системы..
Гууу . как устал уже от всего этого.
Вроде бы от одной малой пакости избавились теперь возникла другая ..
Вот функция..
Она вписана в общий модуль конфы. и в файловой и той которая на сервере.
Но дело в том, что данная функция вызванная при открытии обработкой в файловом варианте находит указанный путь а в серверном нет..
Читайте также: