Бухучет инфо. Добавление внешней обработки в базу Скачать дополнительные обработки 1с 8.3


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

&НаКлиенте

Процедура УстановитьСтавкуНДС(Команда)

УстановитьСтавкуНДСНаСервере();

КонецПроцедуры

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

&НаСервере

Процедура УстановитьСтавкуНДСНаСервере()

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

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

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

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

КонецЦикла;

КонецПроцедуры

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

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

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

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

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

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

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

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

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

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

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

Возврат ДанныеДляРег;

КонецФункции

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

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

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

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

Внимание!
Все обработки с дисков ИТС, предназначены для ознакомительных целей и исключительно для зарегистрированных пользователей ИТС.

Подбор и обработка объектов. (Универсальная)

Осуществляет поиск объектов в документах и справочниках, соответствующих определённым условиям. Обрабатывает итоги поиска.

Свёртка информационной базы. (Универсальная)

Производит свёртку ИБ типовых конфигураций:

  • УПП 3.1.
  • БП 1.6.
  • УТ 10.3.

Регистрация изменений для обмена. (Универсальная)

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

Преобразование журнала действий пользователя. (Универсальная)

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

Полнотекстовый поиск в данных. (Универсальная)

Индексирование и поиск в данных.

Поиск и замена значений. (Универсальная)

Ищет и производит замену ссылочных значений в объектах ИБ.

Настройка технологического журнала. (Универсальная)

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

Консоль заданий. (Универсальная)

Мониторит фоновые и регламентные задания. Удаляет, создаёт новые.

Конвертация внешних обработок. (Универсальная)

Изменение конфиденциальной информации. (Универсальная)

Выборочное изменение или очистка ИБ от определённой информации.

Групповое изменение реквизитов. (Универсальная)

Изменяет реквизиты и табличные части в документах и справочниках.

Выгрузка и загрузка пользователей. (Универсальная)

Выгружает и загружает пользователей ИБ в файл XML.

Выгрузка данных во внешние базы данных. (Универсальная)

Выгружает структуры данных во внешние СУБД, посредством ADO в двух режимах:

  • Выгрузить всё
  • Выгрузить изменения (используется для синхронизации изменений рабочей ИБ, с ИБ – приемником). Этот режим использует механизмы плана обмена.

Поддерживает следующие СУБД:

  • Microsoft SQL
  • IBM DB2
  • Oracle
  • PostgreSQL
  • MySQL

Выгрузка и загрузка данных XML. (Универсальная)

Выгружает и загружает данные в ИБ, как полностью, так и частично. Применяется для переноса данных между, похожими по объектному составу, конфигурациями.

Загрузка данных из табличного документа. (Универсальная)

Производит загрузку данных в справочники и табличные части из табличных документов.

Работает в толстом клиенте в режиме обычного приложения.

Консоль запросов. (Универсальная)

Оказывает огромную помощь при составлении отчётов и создании запросов.

В верхем меню заходим Сервис ->->.

Появляется форма списка справочника внешних обработок. В верхнем меню нажимаем кнопку Добавить .

Появится форма добавление нового объект. Нажимаем но кнопку открыть, и выбираем файл с нужной обработкой. После того как вы выбрали нужный файл, при необходимости, задайте имя обработки(поле Наименование). После этого нужно нажать ОК, чтобы сохранить сделанные изменения.

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

На этом все! Процесс добавления обработки в конфигурацию завершен. Чтобы впоследствии открывать эту обработку, заходите по старому пути: Сервис ->Дополнительные отчеты и обработки ->Дополнительные внешние обработки .

Для БП 3.0, ЗУП 3.0, УТ 11, ERP 2.0.

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

Для первого случая добавим обработку по заполнению справочника номенклатуры из Эксель.

Переходим в соответствующий раздел программы:


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

В списке нажимаем Создать :


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


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


В качестве размещения выбираем произвольный раздел (или несколько):


Записываем и закрываем карточку внешнего объекта:


Теперь откроем обработку из интерфейса:


Список пустой, нажимаем Настроить список :


Выбираем нашу обработку:


Теперь она доступна для выбора. Чтобы открыть обработку, нужно нажать Выполнить :


Теперь посмотрим, как добавляется обработка по заполнению (модификации) конкретных объектов. Для примера возьмем внешнюю обработку, которая прикрепляет сканы к выбранным элементам справочников или документам системы. Начало добавления такой обработки не отличается от предыдущего варианта. Различие в том, что в данном случае размещение заполняется автоматически (и не разделом программы, а типами объектов базы):


При желании список размещения можно скорректировать (не добавить дополнительное размещение, а убрать лишнее ):


Для принятия изменения карточку внешнего объекта также нужно записать.

Для того, чтобы воспользоваться обработкой, необходимо зайти в конкретный объект базы (из списка размещения), нажать пункт Заполнить в командной панели и выбрать команду:

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

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

Классификация обработок

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

  • Отельные наборы функций и процедур, подобие объекта или класса. Программисты могут использовать их как библиотеку или пользоваться всеми прописанными в обработке кусками кода, если включат ее в конфигурацию. КВ качестве примера можно привести функции печати, объединенные разработчиками типовых конфигураций в одном месте;
  • Вспомогательные обработки. Выполняют автоматизацию небольшого участка механической работы или предоставляют пользователям данные в требуемом виде. Сюда входят автоматизированные рабочие места, групповая обработка 1С документации, импорт или экспорт данных и др.;
  • Дополнительные инструменты работы с данными. Это специализированные обработки чаще всего позволяющие работать с любой конфигурацией и базой данных.

Внешняя обработка 1С 8.3 второго и третьего типов очень часто используется программистами в повседневной деятельности. Каждый опытный разработчик 1С имеет свой набор «помощников» – отдельных файлов с процедурами на все случаи жизни. Благодаря этому он способен выполнять некоторые задачи лишь подправив пару строк кода: загрузка или выгрузка данных, обработка справочника или документов, формирование печатной формы – не составит труда для разработчиков.

После того как программист решил создать обработку, ему необходимо понять, куда ее нужно добавлять. Не нужно спешить открывать конфигуратор – типовые конфигурации поддерживают возможность добавления внешних дополнительных обработок. Их отличительная черта заключается в отсутствии необходимости изменять основную конфигурацию и, соответственно, упрощении обновления. Также их могут подключать к конфигурации даже рядовые пользователи, а не только администраторы, как встроенные в систему обработки.

Чтобы узнать перечень обработок, подключенных к вашей конфигурации, необходимо зайти в нее в режиме конфигуратора. Нажмите на меню «Конфигурация» -> «Открыть конфигурацию». Слева откроется окно, в котором можно найти все объекты конфигурации, куда входят и встроенные обработки.

Чтобы увидеть перечень внешних обработок уже подключенных к конфигурации, необходимо запустить 1С в режиме предприятия. В программе УТ интересующий нас список находится в разделе «Сервис», в меню «Внешние печатные формы и обработки». В других типовых продуктах компании 1С его можно найти в разделах «НСИ и Администрирование» и аналогичных.

Отдельно стоит сказать о том, как открыть внешнюю обработку, автором которой вы не являетесь. В интернете дополнительные обработки 1С можно скачать на многих сайтах, большинство из которых призвано помогать коллегам. Но встречаются случаи, когда обработка 1С, небрежно запущенная через меню «Файл» -> «Открыть», ломала рабочую базу огромной компании. Незнакомые дополнительные универсальные обработки сначала открывайте в конфигураторе и тщательно проверяйте весь код, чтобы не допустить ужасных последствий.

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

  1. Открываем список внешних обработок, подключенных к базе. Выше уже говорилось, где искать этот перечень;
  2. Нажмите «Создать» и 1С откроет окно выбора файлов, через которое необходимо указать, где размещена обработка данных 1С;
  3. После выбора 1С самостоятельно распознает тип внешней обработки (вы должны были заранее прописать его в модуле объекта). Автоматически заполняться некоторые поля – вид, имя файла, версия, имя команды, наименование и другие;
  4. Также 1С прочитает из обработки, где ее стоит расположить – в документах, справочнике или специальном разделе для дополнительных обработок. Причем разработчики могут добавить вызов обработки только для форм некоторых документов или справочников;
  5. Чтобы пользователи могли увидеть новый функционал, необходимо установить параметр «Публикация» в значение «Используется».

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

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

Многие компании-франчайзи строят свое внедрение исключительно на создании обработок – они разрабатывают автоматизированные рабочие места и подключают их. То есть заменяют стандартный интерфейс 1С со сложными названиями собственноручно разработанным по пожеланиям пользователей. А по введенным данным на стороне сервера происходит обработка документа 1С 8.3 незаметно для глаз сотрудников компании. Ничего не мешает вам использовать этот опыт – и вскоре ваша компания поймет, насколько вы ценный специалист.

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

    Расширен вид обработок: заполнение объекта, создание связанных объектов. Теперь в документах можно добавлять свои кнопки по заполнению всего документа, а также свои кнопки по вводу на основании.

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

    Можно вводить на основании и заполнять объекты сразу на основании нескольких объектов, а не одного

    Можно задавать расписание выполнение серверных команд (на сервере).

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

    Можно задать режим использования: Не использовать, отладка, использовать. «Не использовать» - не в работе, «Отладка» - видно только администраторам, «Использовать в работе».

    Можно включить использование в формах объекта и в форма списков

    Можно привязать сразу ко всем объектам обработку или отчет.

    Можно настроить быстрый доступ к определенным командам внешних обработок.

    Есть возможность указать в каких разделах интерфейса должны появляться дополнительные обработки и отчеты.

Итак, что можно подключить к стандартным конфигурациям?

С точки зрения платформы можно подключать:

  • внешние обработки (файлы с расширением “epf”) ;
  • внешние отчеты (файлы с раширением «erf»).

С точки зрения прикладной области (конфигурации) можно подключать внешние обработки и отчеты с видом*:

  • Дополнительная обработка
    • Просто дополнительная обработка. Есть возможность настроить
  • Дополнительный отчет
    • Просто дополнительный отчет
  • Заполнение объекта
    • Свои кнопки по заполнению объектов (документа), ранее были только кнопки по заполнению табличной части.
  • Печатная форма
    • Дополнительная печатная форма (добаляется кнопка «Дополнительные печатные формы»)
  • Отчет
    • Отчет, прикрепляемый к объектам (к справочникам и документам).
  • Создание связанных объектов
    • Свой ввод на основании (в пункт меню «Ввод на основании» добавляется кнопка «Создание связанных объектов…»)

*на примере редакции «Управление небольшой фирмой ред. 1.2»

Разберем по порядку, как всё это работает. Для подключения внешних обработок и отчетов имеется стандарт, который описывает интерфейс взаимодействия со внешней обработкой и отчетом, причем есть общие требования для всех видов, а есть специфичные для каждого вида обработки или отчета.

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

Функция СведенияОВнешнейОбработке() Экспорт
РегистрационныеДанные = Новый Структура;
РегистрационныеДанные.Вставить("Наименование", "Пример использование внешних обработок 8.2.");
РегистрационныеДанные.Вставить("БезопасныйРежим", Истина);
РегистрационныеДанные.Вставить("Версия", "1.0");

//ДополнительнаяОбработка
//ДополнительныйОтчет
//ЗаполнениеОбъекта
//Отчет
//ПечатнаяФорма
//СозданиеСвязанныхОбъектов
РегистрационныеДанные.Вставить("Вид", "ДополнительнаяОбработка");

РегистрационныеДанные.Вставить("Информация", "Обработка сделано по новому стандарту подключения внешних обработок 8.2. Пример обработки ""Hello Word"" ");

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


строкаКоманды.Идентификатор = "1";
строкаКоманды.Представление = "команда ""Hello Word"" (ОткрытиеФормы)";

строкаКоманды.Использование = "ОткрытиеФормы";

СтрокаКоманды = тзКоманд.Добавить();
строкаКоманды.Идентификатор = "2";
строкаКоманды.Представление = "команда ""Hello Word"" (ВызовКлиентскогоМетода)";
строкаКоманды.ПоказыватьОповещение = Истина;
строкаКоманды.Использование = "ВызовКлиентскогоМетода";

СтрокаКоманды = тзКоманд.Добавить();
строкаКоманды.Идентификатор = "3";
строкаКоманды.Представление = "команда ""Hello Word"" (ВызовСерверногоМетода)";
строкаКоманды.ПоказыватьОповещение = Истина;
строкаКоманды.Использование = "ВызовСерверногоМетода";

РегистрационныеДанные.Вставить("Команды", тзКоманд);

////////////// назначение (в каких объектах используется) /////////////////////////
//для печ.форм, заполнения, ввода свазанных объектов
//МассивНазначений = Новый Массив;
//МассивНазначений.Добавить("Документ.*"); // все документы назначаются
//МассивНазначений.Добавить("Документ.АвансовыйОтчет");
//МассивНазначений.Добавить("Документ.ЗаказПокупателя");
//РегистрационныеДанные.Вставить("Назначение", МассивНазначений);

Возврат РегистрационныеДанные;

КонецФункции

Итак как видно функция заполняет структуру РегистрационныеДанные, которая имеет следующие элементы (параметры):

    Наименование – краткое наименование обработки

    Версия - информация о версии обработки

    Безопасный режим – отвечает за то, должна ли обработка выполняться учитывая права пользователя. Если поставить значение «Ложь», то обработка или отчет будут выполняться без учета ограничений прав (как под полными правами). Это возможность появилась именно в 8.2, где при создании внешних обработок и отчетов вторым параметром указывается режим.

    Вид – вид обработки или отчета. Возможные значения я перечислял вначале статьи, а возможные значения для установки в коде обозначены в комментарии

  • Команды – таблица значений, в которой перечисляются используемые команды. Колонки таблицы значений:
    • Идентификатор – любая строка (идентификатор команды)
    • Представление – описание команды
    • Модификатор - строка (используется для дополнительных печатных форм)
    • ПоказыватьОповещение – окно оповещение будет появляться перед началом и после окончание выполнения (для команд клиентских и серверных без формы)
    • Использование – режим запуска обработки:
      • ОткрытиеФормы – откроется форма обработки
      • ВызовКлиентскогоМетода – вызов клиентского экспортного метода форма
      • ВызовСерверногоМетода – вызов экспортной метода из модуля обработки

В зависимости от вида обработки или отчета, а также от режима запуска команды «Использование» вызываются методы определенные в модуле формы, модуле объекта. Список передаваемых параметров тоже отличается. Примеры вызовов и использования всех видов обработок прилагаю.







2024 © maximum03.ru.