Что такое внешняя обработка и ее виды
Обработка 1С выступает прикладным объектом конфигурации, ее «строительным блоком», служащим для выполнения разных операций над данными в базе 1С. Примерами можно считать изменение данных, их загрузку в базу или удаление из нее. Обработки бывают двух видов:
Внутренняя обработка — встраивается в конфигурацию, меняя ее структуру и усложняя будущие обновления. Получить наиболее полный их список можно в режиме конфигуратора, если зайти в пункт меню «Обработки» в окне конфигурации.
Внешняя обработка создания документа — может храниться в виде файла с расширением «.epf». Перечень подключенных внешних обработок можно посмотреть в подсистеме «НСИ и Администрирование» — «Печатные формы, отчеты и обработки» — «Дополнительные отчеты и обработки».
В случае необходимости расширения возможностей решения при помощи обработки, рекомендуется применять внешние обработки. Что сохраняет без изменений саму структуру конфигурации, и даст возможность установки обновлений без помощи программистов. Поскольку при изменении структуры конфигурации обновления 1С не смогут устанавливаться.
Пример создания внешней обработки в 1С 8.3
Рассмотрим нашу задачу:
- Сделать возможным пользователю набрать текст в форме обработки. А нажав на кнопку, вывести его в окно сообщений.
Запускаем режим конфигуратора и заходим в меню «Файл» — «Новый» выберем пункт «Внешняя обработка».
Откроется окно в котором зададим имя создаваемой обработки «МояПерваяОбработка». Определяем реквизит «ТекстДляВывода» (тип <Строка>, длина <100>).
Затем добавим форму обработки,
включив в состав формы реквизит «ТекстДляВвода».
нажимаем Готово.
Добавим команду формы, назвав ее «Вывести текст», а в окне свойств, нажав на лупу выберем обработчик этой команды «Создать на клиенте».
В модуле формы напишем код обработки:
&НаКлиенте
Процедура ВывестиТекст(Команда)
Сообщить(Объект.ТекстДляВывода);
КонецПроцедуры
|
Теперь перетащим в раздел элементов формы создаваемую нами на форме кнопку.
После этого обработка готова, сохраним ее в виде файла на жесткий диск.
Запустим конфигурацию в обычном режиме, выберем наш файл обработки через меню «Файл» — «Открыть» и проверим ее работоспособность.
Так будет выглядеть результат нашей работы:
Функция "СведенияОВнешнейОбработке"
Процесс подключения внешней обработки или отчета в управляемом интерфейсе будет отличаться от подключения в штатном режиме. Например, попытка подключения обработки через подсистему «НСИ и Администрирование» — «Печатные формы, отчеты и обработки» — «Дополнительные отчеты и обработки» будет стабильно выдавать ошибку.
Это связано с тем, что в конфигурациях использующих БСП (библиотеку стандартных подсистем), есть необходимость предоставления некоторой информации, описывающей внешнюю обработку. Эти данные нужно возвращать из экспортной функции «СведенияОВнешнейОбработке» в структурированном виде. А сама функция должна располагаться в модуле объекта обработки.
Приведем пример подобной функции для внешней обработки:
Функция СведенияОВнешнейОбработке() Экспорт
ПарамРег = Новый Структура();
ПарамРег.Вставить("Наименование", "МояПерваяОбработка");
ПарамРег.Вставить("БезопасныйРежим", Истина);
ПарамРег.Вставить("Версия ", "ver.: 1.0");
ПарамРег.Вставить("Информация", "Обработка для вывода введенного текста в окно сообщений");
ПарамРег.Вставить("Вид", "ДополнительнаяОбработка");
ТЗ_Команды = Новый ТаблицаЗначений;
ТЗ_Команды.Колонки.Добавить("Идентификатор");
ТЗ_Команды.Колонки.Добавить("Использование");
ТЗ_Команды.Колонки.Добавить("Представление");
НоваяСтрока = ТЗ_Команды.Добавить();
НоваяСтрока.Идентификатор = "ОткрытьОбработку";
НоваяСтрока.Использование = "ОткрытиеФормы";
НоваяСтрока.Представление = "Открыть обработку";
ПарамРег.Вставить("Команды", ТЗ_Команды);
Возврат ПарамРег;
КонецФункции
|
В качестве шпаргалки, чтобы подсмотреть, какие данные нужны при регистрации той или иной обработки подойдет справочник «ДополнительныеОтчетыИОбработки» в режиме конфигуратора.
Подключение внешней обработки в обычном режиме 1С
Теперь добавляем в конфигурацию получившуюся внешнюю обработку, указав подсистемы программы, в которых она будет располагаться.