Бухучет инфо. Бухучет инфо Что такое дополнительная обработка в 1с 8.3

Скачать универсальную обработку объектов 1С 8.3.

В обычном приложении версии платформы 1С 8.2 и 8.1 (на обычных формах) была такая замечательная обработка, как «Универсальный подбор и обработка объектов». Она значительно упрощала жизнь программистам и администраторам программы.

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

Поиск и отбор объектов

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

На первой закладке мы должны выбрать объект, с которым собираемся работать. И так, в поле «Объект поиска» уже выбран документ «Реализация (акты, накладные)». Это потому, что до этого уже выбирали данный объект. Обработка умеет запоминать.

По кнопке «Настройка отбора», мы можем установить отбор практически по любому полю объекта:

Если данных отборов не достаточно, можно отобрать нужные объекты с помощью произвольного запроса. Для этого переведите переключатель «Режим отбора» в соответствующее положение.

После всех настроек объекты нужно отобрать. Нажмем на кнопку «Найти объекты» и смотрим результат отбора:

Обработка элементов

Перейдем на закладку «Обработки»:

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

Произвольный алгоритм

Обработка «Произвольный алгоритм» позволяет написать программу действий над объектами на внутреннем языке 1С. Обработка требует навыков программирования и ее описание достойно отдельной статьи. С ее помощью можно сделать практические действия над объектами:

Установка реквизитов

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

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

Перенумерация объектов

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

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

Теперь мы можем последовательно выполнить выбранные настройки, нажав кнопку «Выполнить».

По материалам: programmist1s.ru

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

Отличный пример – групповая обработка документов. Это инструмент, который позволяет провести/изменить/распечатать не один документ, а сразу много, по выбранному списку. Согласитесь – очень удобно.

Для реализации в 1С инструментов для облегчения работы пользователя или администратора базы 1С существует специальный объект конфигурации – обработки 1С. Обработки 1С могут быть частью конфигурации или распространяться как отдельные файлы (тогда обработка называется внешняя обработка 1С).

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

Самое время попробовать сделать обработку 1С самостоятельно. Подробности далее.

Что такое обработки 1С и как они используются

Маленькое вступление. Кто уже знаком с обработками 1С – может пропустить этот пункт.

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

По функционалу обработки 1С можно поделить на три вида:

  • Вспомогательные обработки 1С конфигурации
    В каждой типовой конфигурации есть множество обработок. Они используются как дополнительные интерфейсные формы (рабочий стол пользователя, обзор конфигурации), как часть функционала конфигурации (внос начальных остатков, начальное заполнение базы данных, закрытие месяца).
  • Объекты (Классы)
    Кто знает другие языки программирования, уже знаком с понятием объект. Это некий класс, имеющий в своем распоряжении набор «переменных» и «функций». Его прелесть состоит в самодостаточности – то есть в одном классе собрано все, что нужно для выполнения его функций.

    В 1С классы можно создавать с помощью обработки 1С: «переменные» — реквизиты обработки 1С, «функции» — функции в модуле объекта обработки 1С (пометка Экспорт для публичных функций). Удобство состоит как в создании экземпляра такого класса, так и в его перемещении между конфигурациями.

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

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

  • Дополнительные инструменты пользователя и администратора
    Существует множество универсальных инструментов для использования обычно администратором базы данных, которые не привязаны к конкретной конфигурации. Такие инструменты часто не входят в типовую поставку конфигурации и распространяются отдельно (обычно на дисках ИТС). Кроме типовых – программисты в интернете выкладывают массу собственных инструментов.

    В пример можно привести: обработки 1С работы с торговым оборудованием, консоль задач 1С (отображает список задач выполняющихся по расписанию), консоль запросов 1С (позволяет выполнять любые запросы без программирования) и т.п.

Где находятся обработки 1С

Итак, существуют обработки 1С встроенные в конфигурацию и внешние обработки 1С.

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

Так или иначе, под правами администратора можно открыть список встроенных в конфигурацих обработок и любую из них, если ее возможно открыть (то есть если у нее есть экранная форма и программист не поставил блокировку на открытие). Для этого в толстом клиенте используйте меню Операции/Обработки, в тонком клиенте используйте меню Все функции/Обработки. Если Вы не знаете, как найти эти меню – .

В конфигураторе встроенные в конфигурацию обработки 1С находятся в ветке Обработки.

Внешние обработки 1С открываются и в конфигураторе и в Предприятии с помощью меню Файл/Открыть.

Безопасность. Обратите внимание на . Модуль объекта обработки 1С выполняется автоматически при открытии обработки 1С в режиме Предприятия. Поэтому, если Вы открываете обработку написанную злоумышленником – она может быть выполнена автоматически без лишних вопросов.

Как сделать обработку 1С самостоятельно

Итак, приступаем к самому интересному – алгоритм создания обработки 1С самостоятельно с нуля.

Опытные программисты 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.3. Они позволяют не тратить силы и средства на обновления 1С, давая возможность обновлять базы одной кнопкой в режиме простого пользователя. Используя механизм библиотеки стандартных подсистем, можно добавить различные кнопки в документы и справочники, не изменяя типовую конфигурацию. Рассмотрим пример создания и подключения внешней обработки в одной из конфигураций 1С.

Создаем внешнюю обработку в 1С 8.3

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

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

  • Реквизит – поле для установки номенклатуры;
  • Кнопку, которая выполнит вызов кода.

Добавляем реквизит «Номенклатура» с типом данных «СправочникСсылка.Номенклатура» в соответствующем разделе и кнопку «Показать» в меню «Команды» -> «Команды формы».

Чтобы на форме отразились добавленные данные, их необходимо перетащить в элементы формы, расположенные в левой верхней части. Есть возможность поменять местами элементы с помощью синих стрелок. Чтобы созданная нами кнопка выполняла задуманное, ей нужно назначить процедуру. Через контекстное меню выберем «Действие команды», и на вопрос, где нужен обработчик, ответим: «Создать на клиенте и процедуру на сервере».


Фрагмент 1

&НаКлиенте Процедура Показать(Команда) ПоказатьНаСервере(); КонецПроцедуры &НаСервере Процедура ПоказатьНаСервере() //Вставить содержимое обработчика. КонецПроцедуры

Мы выбрали создание процедуры на сервере, так как хотим в качестве результата получить выборку из базы данных. На клиенте у нас нет такой возможности, поэтому потребуется подключение к серверу, который и обменивается с БД данными. Теперь нам необходимо написать код, который реализует задуманное нами. Будет использоваться запрос и вывод всех документов через функцию «Сообщить()».


Фрагмент 2

&НаКлиенте Процедура Показать(Команда) ПоказатьНаСервере(Номенклатура); КонецПроцедуры &НаСервере Процедура ПоказатьНаСервере(Номенклатура) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗаказКлиентаСостав.Ссылка КАК Ссылка | ИЗ | Документ.ЗаказКлиента.Состав КАК ЗаказКлиентаСостав | ГДЕ | ЗаказКлиентаСостав.Номенклатура = &Номенклатура"; Запрос.УстановитьПараметр("Номенклатура", Номенклатура); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить(ВыборкаДетальныеЗаписи.Ссылка); КонецЦикла; КонецПроцедуры

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

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

Функция СведенияОВнешнейОбработке() Экспорт ДанныеДляРег = Новый Структура(); ДанныеДляРег.Вставить("Наименование","Новая внешняя обработка"); ДанныеДляРег.Вставить("БезопасныйРежим", Истина); ДанныеДляРег.Вставить("Версия", "ver.: 1.001"); ДанныеДляРег.Вставить("Вид", "ДополнительнаяОбработка"); ТабЗнКоманды = Новый ТаблицаЗначений; ТабЗнКоманды.Колонки.Добавить("Идентификатор"); ТабЗнКоманды.Колонки.Добавить("Использование"); ТабЗнКоманды.Колонки.Добавить("Представление"); НовСтрока = ТабЗнКоманды.Добавить(); НовСтрока.Идентификатор = "НоваяВнешняяОбработка"; НовСтрока.Использование = "ОткрытиеФормы"; НовСтрока.Представление = "Новая внешняя обработка"; ДанныеДляРег.Вставить("Команды", ТабЗнКоманды); Возврат ДанныеДляРег; КонецФункции

Фрагмент 3

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

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


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

  • Указать размещение объекта. Нажатием на «Не определено» мы открываем окно разделов и укажем, в каких разделах будет доступна операция;
  • Выбрать пользователей, у которых данная команда появится в меню «Дополнительные обработки» выбранных разделов без лишних настроек. Для этого в табличной части нужно выбрать пункт «Быстрый доступ» и добавить в правую половину ответственных пользователей;
  • На вкладке «Дополнительная информация» вы можете указать папку, в которой будет находиться загруженная обработка;
  • После нажатия клавиши «Записать» в выбранном разделе в меню «Дополнительные обработки» пользователи обнаружат нашу команду и смогут ею воспользоваться.

Если мы хотим внести изменения в нашу обработку, необходимо сначала выгрузить ее из базы. Для этого в справочнике «Дополнительные обработки и отчеты» найдите нужную строчку и воспользуйтесь командой «Выгрузить в файл…». Внесите изменения, сохраните обработку и через клавишу «Загрузить из файла…» найдите измененный файл epf, не меняя параметры. После записи все пользователи увидят внесенные изменения.

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


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