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

Обработки 1С 8.3 — объекты конфигурации, служащий для изменения и преобразования информации в базе данных.

Рассмотрим, как её создать, свойства, чем она отличается от отчета, чем отличается внешняя обработка от внутренней.

В создании обработки нет никаких особенностей, которые можно было бы отметить. Весь функционал индивидуален и закладывается разработчиком 1С 8.3 или 8.2.

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

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

Одна из приятных особенностей обработок — доступность при подключении внешнего соединения. Т.е при подключении к 1C можно программно создать объект, заполнить реквизиты и вызывать экспортную процедуру из модуля. Типичный пример для этого — обмен данными в режиме : внешний источник подключается к базе, заполняет настройки — реквизиты объекта и активирует процедуру загрузки/выгрузки. Пример кода:

Объект = Обработки. УниверсальныйОбменДаннымиXML. Создать() ; Объект. Параметры = Параметры; Объект. ВыполнитьВыгрузку() ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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