Интернет. Железо. Программы. Обзоры. Операционные системы
Поиск по сайту

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

Опытные программисты 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С расширяют функционал конфигурации и позволяют быстро выполнять определённые операции в программе. Это не только экономит время, но и порой не даёт совершить ошибку. Хотите узнать про обработки больше — дочитайте до конца.

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

1С обработка — что это такое?

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


Ещё один пример очень полезной обработки — массовая регистрация счётов-фактур на аванс.

сайт_

Другие примеры обработок, а также краткое содержание этой статьи вы можете посмотреть на видео ниже. Если что-то непонятно — просто откройте вашу базу 1С и в меню "Все функции" найдите раздел "Обработки", тогда вы сами сможете посмотреть, что скрывается в вашей конфигурации.

Видеообзор про обработки в 1С:Бухгалтерии

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

Подведём итоги

Итак, в программе 1С Предприятие есть специальные подпрограммы, то есть модули, позволяющие выполнять обработку данных в базе. Поэтому их так и называют — обработки.

Используйте встроенные и внешние обработки для ускорения работы в 1С, но будьте аккуратны!

+ к вопросу о вопросах по поводу...

Вообще к теме данной статьи никакого отношения не имеет, но просто не могу удержаться.

Смешное иногда встречается в запросах посетителей к моему сайту. Конечно, Яндекс и Google и не такое видели, но сегодня меня особо порадовал один запрос. Я даже не поленился и нарисовал соответствующую ему картинку. Обратите внимание на подчёркнутое красным.

сайт_

Задавайте правильные вопросы, если хотите получить верный и исчерпывающий ответ!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Войдите на сайт как ученик

Войдите как ученик, чтобы получить доступ к материалам школы

Создание конфигураций 1С: добавляем обработку

Продолжаем изучение азов создания конфигураций на 1С.

На этом уроке мы вместе создадим новую обработку, а затем напишем для неё команды, которые демонстрируют работу со справочником "Сотрудники".

Возвращаемся в конфигуратор и открываем дерево конфигурации.

Добавляем новую обработку

Правой кнопкой нажимаем на разделе "Обработки" и выбираем пункт "Добавить":

Открылось окно создания новой обработки. Перейдём на закладку "Основные" и укажем в качестве имени обработки "ОбработкаСправочников":

Создаём форму для обработки

Перейдём на закладку "Формы" нажмём на зелёный плюсик, чтобы добавить новую форму (визуальное представление нашей обработки):

Появился конструктор создания формы. Оставим всё по умолчанию и нажмём "Готово":

Открылась новая форма:

Создаём новую команду для формы

Перейдём на закладку "Команды"->"Команды формы":

Добавим новую команду (зелёный плюсик):

И в свойствах новой команды укажем имя "ВыводВсехСотрудников":

Нажмём в её же свойствах на лупу рядом с полем "Действие", чтобы задать обработчик команды. Выберем вариант создания обработчика "НаКлиенте" и нажмём "ОК":

Нас перенесло в модуль формы в процедуру-обработчик команды "ВыводВсехСотрудников":

Пишем код обработчика команды

Теперь наша задача написать код на внутреннем языке 1С, который будет перебирать все элементы справочника "Сотрудники".

Сразу хочу сказать, что этот код нельзя писать прямо в процедуре "ВыводВсехСотрудников", так как она выполняется на клиенте (обратите внимание на специальную строчку перед процедурой "&НаКлиенте"). Попытка прочитать данные из базы в клиентской процедуре всегда будет приводить к ошибке (пока просто запомните это).

Поэтому давайте допишем в конце модуля процедуру такого вида:

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

Теперь организуем вызов этой процедуры из клиентской "ВыводВсехСотрудников":

Тут логика такая:

  1. Пользователь вызывает команду "ВыводВсехСотрудников" (например, нажатием на кнопку, которой у нас ещё правда нет)
  2. Команда запускает одноименную процедуру-обработчик "ВыводВсехСотрудников" на клиенте (ведь кнопка, а значит и команда находятся на клиенте)
  3. Клиентская процедура "ВыводВсехСотрудников" делает вызов серверной процедуры "ВыводВсехСотрудниковНаСервере"
  4. Серверная процедура "ВыводВсехСотрудниковНаСервере" читает данные справочника из базы и выводит их в окно сообщений

Нам осталась самая малость - написать код процедуры "ВыводВсехСотрудниковНаСервере", который пробегается по элементам справочника "Сотрудники" и выводит их в окно сообщений.

Это на самом деле несложно. Обход всех справочников в 1С однотипен. А значит научившись это делать сейчас со справочником "Сотрудники", вы сможете делать также и с любыми другими справочниками.

Для доступа к данным справочника используется менеджер, доступ к которому осуществляется так:

Менеджер = Справочники. Сотрудники;

В этом предложении ключевая часть находится справа от знака равно. Слева - это просто переменная, в которую мы сохраняем менеджер, чтобы работать с ним дальше. Имя этой переменной могло быть не только "Менеджер", но и любое другое - хоть "Барабашка".

Что представляет из себя менеджер справочника? Менеджер - это ещё не сами данные справочника. Менеджер - это некоторый программный объект (можете представлять его себе в виде чёрного ящика), через который мы можем что-либо делать со справочником.

Менеджер справочника - это как бы такая прослойка между нашим кодом и данными справочника. И получается, что, если нам требуется прочитать все элементы справочника, то мы не можем этого сделать напрямую. Мы можем только попросить об этом нашу прослойку между нами и справочником, то есть менеджер.

Чтобы сделать это - необходимо вызвать встроенный в менеджер метод "Выбрать". Вызывается он через точку после имени переменной, в которой хранится менеджер, и возвращает коллекцию элементов справочника:

Менеджер = Справочники. Сотрудники; Выборка = Менеджер. Выбрать() ;

Что представляет из себя выборка? Выборка (опять же это только имя переменной, в которую мы сохраняем результат работы метода "Выбрать" и оно могло бы быть любым другим) представляет из себя коллекцию, но не такую, как например массив или список значений.

Выборка представляет собой объект - опять же думайте о нём как о ящике, но ещё не сами данные. Особенность этого объекта в том, что он умеет перебирать элементы нужного нам справочника. Причём перебирает он их динамически. Это означает, что использование выборки не считывает все элементы справочника сразу, а выбирает их порциями из базы данных.

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

Чтобы получить очередную порцию данных из выборки, необходимо вызвать у выборки встроенный в неё метод "Следующий". Получение порций данных (одна порция соответствует одному элементу справочника) обычно происходит в цикле:

Когда данные (элементы справочника) в выборке закончатся, метод "Следующий" вернёт Ложь и цикл прекратится.

После каждого вызова метода "Следующий" (при условии, что он вернул "Истина") выборка будет содержать в себе все поля с данными только считанного элемента справочника, обращаться к которым можно по именам через точку:

Получается в один момент - мы работаем с данными только одного из элементов справочника. И тут мы можем или сразу их вывести пользователю (методом "Сообщить") или, к примеру, мы можем сложить их в другую коллекцию (массив), чтобы потом уже за раз с ними что-нибудь сделать. Всё зависит от задачи, которую мы решаем.

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

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

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

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

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

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

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


Фрагмент 1

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

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


Фрагмент 2

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

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

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

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

Фрагмент 3

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

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


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

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

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

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


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