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

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

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

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

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

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

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

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

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

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

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

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

Рассмотрим в данной статье пошаговую инструкцию по созданию внешней обработки в 1С 8.3 в режиме управляемого приложения, соответственно, будем использовать управляемые формы. А самое главное — мы научимся подключать её к механизму «внешних обработок» конфигураций 1С, построенных на библиотеке стандартных подсистем версии 2.0 и новее.

Задача будет следующая: создать простейшую внешнюю обработку, которая будет выполнять групповое действие над справочником «Номенклатура», а именно, устанавливать выбранный процент ставки НДС для указанной группы номенклатуры.

Включение механизма внешних обработок в программе

Для этого сразу произведем необходимую настройку в программе (рассматривается конфигурация 1С 8.3: «Бухгалтерия предприятия 3.0» на управляемых формах).

Заходим в меню «Администрирование» и по ссылке «Печатные формы, отчеты и обработки» переходим в настройки. Здесь нужно установить флажок «Дополнительные отчеты и обработки»:

Установка данного флажка дает нам возможность использовать внешние обработки.

Создание новой внешней обработки в 1С 8.3 на примере

Теперь переходим в конфигуратор. В меню «Файл» выбираем «Новый…». Откроется окно выбора вида создаваемого файла. Выбираем «Внешняя обработка»:

Откроется окно новой внешней обработки. Сразу зададим ей имя. Оно будет предложено при сохранении обработки на диск:

Добавим новую управляемую форму обработки. Указываем, что это форма обработки и она является основной:

На форме у нас будет два реквизита:

  • ГруппаНоменклатуры – ссылка на справочник «Номенклатура»;
  • ВыбСтавкаНДС – ссылка на перечисление Ставки НДС.

Создаем реквизиты в колонке «Реквизит» в верхнем правом окне. Перетаскиваем мышкой их в левое верхнее окно. Новые реквизиты должны сразу отобразиться на форме внизу.

Очередность реквизитов можно менять стрелками «Вверх» – «Вниз»:

Получите 267 видеоуроков по 1С бесплатно:

Осталось добавить кнопку «Установить». В управляемых формах нельзя просто так добавить кнопку на форму. Даже если добавить её в структуру элементов формы, на самой форме её видно не будет. Кнопку обязательно нужно связать с командой, которую она будет выполнять. Переходим к закладке «Команды» и добавляем команду «УстановитьСтавкуНДС». В свойствах команды создаем действие. Обработчик команды выбираем «На клиенте». Команду можно добавить на форму также простым «перетаскиванием» в раздел с элементами формы.

В модуле формы будет создана одноименная процедура. В ней вызовем процедуру на сервере:

В процедуре на сервере напишем небольшой запрос и действия, связанные с установкой ставки НДС:

Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Ссылка В ИЕРАРХИИ (&ГруппаНоменклатуры)
| И НЕ Номенклатура.ПометкаУдаления
| И НЕ Номенклатура.ЭтоГруппа»;

Запрос.УстановитьПараметр(«ГруппаНоменклатуры», ГруппаНоменклатуры);
РезЗапроса = Запрос.Выполнить();
ВыбДетЗаписи = РезЗапроса.Выбрать();

Пока ВыбДетЗаписи.Следующий() Цикл

СпрНомОбъект = ВыбДетЗаписи.Ссылка.ПолучитьОбъект();
СпрНомОбъект.СтавкаНДС = ВыбСтавкаНДС;

Попытка
СпрНомОбъект.Записать();
Исключение
Сообщить(«Ошибка записи объекта «»» + СпрНомОбъект + «»»!
|» + ОписаниеОшибки());
КонецПопытки;

Возвращаемся на закладку «Форма», добавляем на форму кнопку и связываем ее с командой:

Как таковая наша обработка готова к использованию. Чтобы ее вызвать, в режиме «1С Предприятия» нужно зайти в меню «Файл» – «Открыть» и выбрать созданный файл.

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

Для этого и служит раздел «Дополнительные отчеты и обработки».

Но чтобы добавить туда нашу обработку, нужно сначала дать ей описание и сообщить программе ее свойства.

Описание функции «Сведения О Внешней Обработке»

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

Функция СведенияОВнешнейОбработке() Экспорт

ДанныеДляРег = Новый Структура();
ДанныеДляРег.Вставить(«Наименование», «Установка ставки НДС»);
ДанныеДляРег.Вставить(«БезопасныйРежим», Истина);
ДанныеДляРег.Вставить(«Версия», «ver.: 1.001»);
ДанныеДляРег.Вставить(«Информация», «Обработка для установки ставки НДС в справочнике Номенклатура»);
ДанныеДляРег.Вставить(«Вид», «ДополнительнаяОбработка»);

ТабЗнКоманды = Новый ТаблицаЗначений;
ТабЗнКоманды.Колонки.Добавить(«Идентификатор»);
ТабЗнКоманды.Колонки.Добавить(«Использование»);
ТабЗнКоманды.Колонки.Добавить(«Представление»);

НовСтрока = ТабЗнКоманды.Добавить();
НовСтрока.Идентификатор = «ОткрытьОбработку»;
НовСтрока.Использование = «ОткрытиеФормы»;
НовСтрока.Представление = «Открыть обработку»;
ДанныеДляРег.Вставить(«Команды», ТабЗнКоманды);

Чтобы лучше понять, какие поля структуры регистрационных данных нужно использовать, посмотрим реквизиты справочника «Дополнительные отчеты и обработки»:

Как видим, все довольно просто. Не совпадает лишь один реквизит: «ВариантЗапуска» – «Использование». Если посмотреть код одного из общих модулей, то мы увидим, как возникает связка этих полей:

Чтобы определить, какие поля структуры обязательны, можно сначала не описывать ее, просто создать пустую, а далее воспользоваться отладчиком. Если трассировать модули при регистрации обработки, сразу становится ясно, какие поля требуются, а какие нет.

Подключение внешней обработки в 1С 8.3

Перейдем теперь в режим «1С Предприятия» и добавим внешнюю обработку:

После записи обработки в справочник нажатием кнопки «Выполнить» она открывается на выполнение. Здесь же можно указать, в каких разделах (подсистемах) программы будет отображаться данная обработка и для каких пользователей.

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

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

Как добавить внешнюю обработку в конфигурацию 1С: Бухгалтерия Предприятия 2.0?

Для добавления внешней обработки в конфигурацию 1С Бухгалтерия Предприятия 2.0 запустим программу в режиме Предприятие. Заходим в меню Сервис => Дополнительные отчеты и обработки => Дополнительные внешние обработки:

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

Выбираем файл внешней обработки и нажимаем “Открыть”:

Наименование заполнилось автоматически. Можно назначить права на использование этой обработки нажав на кнопку “Права” и записав обработку, но для этого в конфигурации должно быть включено использование ограничения прав доступа на уровне записей. Нажимаем “ОК” для записи обработки в справочник:

Теперь обработку можно запускать из этого справочника. После обновления конфигурации обработка не удалится из него, так как она входит в состав информационной базы,а не конфигурации программы 1С: Бухгалтерия Предприятия 2.0.

Как добавить внешний отчет в конфигурацию 1С: Управление торговлей 11?

Для добавления внешнего отчета в конфигурацию 1С: УТ 11, заходим в программу в режиме Предприятие. Переходим в подсистему Администрирование => Печатные формы, отчеты и обработки => Дополнительные отчеты и обработки:

Попадаем в справочник “Дополнительные отчеты и обработки”. Здесь представлены все загруженные в информационную базу отчеты и обработки. Нажимаем “Создать”:

Указываем тип файлов “Внешние отчеты (*.erf)”, выбираем файл отчета и нажимаем “Открыть”:

В появившемся окне можем исправить автоматически созданное наименование на более для вас удобное. Далее необходимо указать разделы командного интерфейса в которых будет отображаться этот отчет. Для этого нажимаем “Указать разделы командного интерфейса”:

Отмечаем галочками нужные разделы и нажимаем ОК:

Далее необходимо указать пользователей у которых будет доступ к этому отчету. Для этого нажимаем “Быстрый доступ к команде”:

Выбираем из списка либо каких то определенных пользователей, либо всех сразу и нажимаем ОК:

Нажимаем “Записать и закрыть”:

Теперь чтобы проверить переходим в раздел, который отметили в быстром доступе и нажимаем “Дополнительные отчеты”:

Чтобы запустить отчет нажимаем “Выполнить”:

Также здесь есть возможность настроить список отчетов, т.е. отображение, которые доступны текущему пользователю, для этого жмем “Настроить список моих отчетов”:

Здесь вы можете убрать отображение редко используемых отчетов, если их у вас много:

Как добавить внешнюю печатную форму в конфигурацию 1С: Зарплата и управление персоналом 2.5?

Чтобы добавить внешнюю печатную форму в конфигурацию 1С Зарплата и управление персоналом 2.5 запустим программу в режиме Предприятие. Заходим в меню Сервис => Дополнительные отчеты и обработки => Дополнительные внешние печатные формы:

Открывается справочник “Дополнительные внешние печатные формы”. Нажимаем “Добавить”:

В следующем окне нажимаем “Открыть”:

Выбираем файл внешней печатной формы и нажимаем Открыть:

Если обработка сделана как надо, то должно появиться окно с предложением использовать параметры авторегистрации. Это означает, что печатная форма будет добавлена в документ или справочник для которого она предназначена автоматически. Нажимаем Да:

В табличной части “Принадлежность печатной формы” указано для какого справочника или документа предназначена текущая внешняя печатная форма. Вы можете указать удобное для вас Наименование. Для сохранения нажимаем ОК:

Теперь видим что печатная форма появилась в справочнике “Дополнительные внешние печатные формы”:

Теперь по кнопке Печать появится ваша печатная форма,она будет последней в списке доступных печатных форм:

Смотрите видео по созданию внешней печатной формы для управляемого приложения: