Добавление внешней обработки в базу. Добавление внешнего отчета в базу Подключение внешних обработок 1с 8.2


Как добавить (зарегистрировать) внешнюю печатную форму (или обработку) в 1С Бухгалтерия 8.3 (редакция 3.0)

2019-05-15T13:40:54+00:00

Часто у бухгалтера возникает необходимость в дополнительной печатной форме к какому-нибудь из стандартных документов 1С:Бухгалтерия 8.3 (редакция 3.0). Или нужна дополнительная обработка, например, чтобы автоматически заполнить документ или ввести новый на основании. Обычно такая возможность уже кем-нибудь разработана и её можно найти или заказать у программиста. И вот доработка получена, осталось только добавить её в бухгалтерию. Как это сделать? Об этом ниже по шагам.

1. Откройте 1С Бухгалтерия 3.0 и выберите в левой панели раздел "Администрирование"->"Печатные формы, отчеты и обработки" ():

2. Здесь найдите и выберите пункт "Дополнительные отчеты и обработки", предварительно установив галку "Дополнительные отчеты и обработки" слева:

3. Нажмите кнопку "Добавить из файла...".

4. И выберите файл с внешней печатной формой или обработкой (расширение epf).

5. В новом окне нажмите кнопку "Записать и закрыть".

6. Откройте нужный документ и убедитесь, что в кнопке печать появился ещё один вариант печатной формы или пункт в меню "Создать на основании" или новая кнопка на панели инструментов формы. Готово!

С уважением, Владимир Милькин (преподаватель и разработчик ).

Конечно, 1С Бухгалтерия 8 обладает очень широкими возможностями. С помощью этой программы можно выполнять множество самых разных задач . Но иногда всё же стандартных встроенных средств не хватает. Что в таком случае делать?

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

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

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

Если документ формирует проводки близкие к тем, что вам нужны, но все же не совсем такие , то можно провести документ, а затем исправить проводки вручную. На особенностях нестандартного использования обычных документов я тут особо останавливаться не буду — это входит в мой курс по 1С Бухгалтерии 8 . Самое главное — проявить немного творческого подхода и знания конфигурации , и тогда окажется, что круг задач, которые можно выполнять с помощью стандартной (неизменённой) конфигурации 1С Бухгалтерия Предприятия, расширится.

Другой способ заключается в модификации конфигурации . К примеру, мне как-то сказал один из моих студентов — "я хочу, чтобы у меня в программе на видном месте была кнопка «Сколько у нас денег?» ". Вполне оправданное желание, однако! (хотя вообще-то такой отчет в программе уже есть )

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

Тут была важная часть статьи, но без JavaScript её не видно!

Ответ очень простой — расширить функционал программы при помощи . В частности, речь пойдет о внешних отчетах и обработках .

Делается это достаточно просто. Находим в интернете требуемый отчет (или обработку — смотря что требуется) и подключаем его к стандартной конфигурации 1С Бухгалтерия 8. Для 1С Бухгалтерии 8.2 следует зайти в меню "Файл / Открыть..." , либо нажать кнопку Открыть на панели инструментов, после чего в открывшемся окне Проводника указать файл внешнего отчета / обработки. Пример на рисунке ниже.


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

сайт_

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

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

Совет: храните используемые вами внешние отчеты и обработки в специально созданной папке — это удобно. Папку можно создать в папке с базой 1С Бухгалтерия (если у вас файловая база); для удобства можете изменить значок у папки .

Почему их называют "внешними"?

Потому что при подключении происходит открытие внешнего файла, не имеющего к конфигурации 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С, то воспользуйтесь возможностью загрузить обработку через конфигуратор. В дереве объектов в разделе «Обработки» создайте новую обработку и через контекстное меню выберите «Заменить на внешнюю обработку, отчет…». Останется лишь настроить запуск внешней обработки из нужного раздела, включив добавленную обработку в нужную подсистему.


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

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

Любое прикладное решение (даже пустое, не содержащее объектов), построенное на базе 1С:Предприятие, позволяет использовать внешние отчеты и обработки. Это делается через главное меню: «Файл»-«Открыть». После выбора файла внешнего отчета или обработки открывается его форма и пользователь может использовать требуемый функционал.

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

По виду запуска прикладные решения делятся на две группы: построенные на базе обычного или управляемого приложения. К первой группе относятся «Бухгалтерия 2.х», «Управление торговлей 10.х», «Розница 1.х» и т.д. Ко второй группе относятся «Бухгалтерия 3.х», «Управление торговлей 11.х», «Розница 2.х», «Управление нашей фирмой» и т.д. Прикладные решения, построенные на базе обычного приложения, являются устаревшими, но все еще широко используются пользователями.

В данной статье рассмотрим использование внешних отчетов и обработок в обычном интерфейсе на примере типового прикладного решения «1С:Управление торговлей 10.3».

В обычном интерфейсе внешние отчеты и обработки подключаются через главное меню «Сервис» - «Внешние печатные формы и обработки».

Система позволяет использовать внешние отчеты и обработки четырех видов:

  1. Внешние отчеты

Внешние печатные формы - формирует печатные формы справочников и документов, не предусмотренные в типовом прикладном решении.


При добавлении или редактировании дополнительной печатной формы открывается карточка внешней обработки.


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

  • Представление объекта - объект, к которому прикрепляется внешняя печатная форма (справочник или документ). При нажатии кнопки выбора открывается форма выбора принадлежности печатной формы.

  • Отбор - позволяет подключать внешнюю печатную форму не для всех документов, а для определенных по отбору. Причем отбор настраивается для каждого объекта принадлежности отдельно. Отбор настраивается аналогично типовым отборам в отчетах и обработках.


  • Файл печатной формы - позволяет выбирать для каждого объекта принадлежности отдельный файл внешней печатной формы, т.е. это могут быть абсолютно разные по реализации обработки, но одинаковые по смыслу.
  • Заменяемая печатная форма - позволяет выбрать типовую печатную форму объекта, которую заменит новая внешняя печатная форма. Это необходимо, чтобы пользователи не путались в случаях, когда вместо типовой формы разработана новая внешняя.
  • Параметры обработки - дополнительные параметры, передаваемые в функцию печати. Практически не актуально для внешних печатных форм. Параметры могут принимать значения только простых типов (число, строка, дата, булево).


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

В нашем примере для документа «Счет на оплату покупателю» внешняя печатная форма заменяет типовую с отбором по контрагенту.


Для документа «Реализация товаров и услуг»:


Внешние обработки заполнения табличных частей

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

При добавлении или редактировании обработки по заполнению табличных частей открывается карточка внешней обработки. Она отличается от карточки внешней печатной формы.


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

Таблица содержит следующие колонки:

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

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

В нашем примере добавляется кнопка «Заполнить по остаткам» в табличную часть «Товары» документа «Приходный ордер на товары».


Внешние обработки - осуществляют обработку данных по произвольному алгоритму.


При добавлении или редактировании внешней обработки открывается ее карточка.


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

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

Внешние отчеты

Внешние отчеты - выводят данные, получение которых не предусмотрено в типовом прикладном решении.


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

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

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

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

В данной статье описано как подключить внешнюю печатную форму в базу 1С на примере конфигурации «Управление торговлей 11.2»

Конфигурация «Управление торговлей 11.2» — это конфигурация на «УПРАВЛЯЕМЫХ» формах!

Наша инструкция «показывает» как подключить внешнюю печатную форму в информационной базе 1С с конфигурацией на «УПРАВЛЯЕМЫХ» формах а именно:

  • «Бухгалтерия 3.0»
  • «Управление торговлей 11.2»
  • «Зарплата и управление персоналом 3.1»
  • «Комплексная автоматизация 2.0»
  • «Управление небольшой фирмой 1.6»
  • «Розница 2.2»
  • и другие подобные конфигурации.

Для того чтобы подключить внешнюю печатную форму в 1С нам понадобится пройти 11 шагов.

1 — Меню «НСИ и администрирование» (В других конфигурациях, как например в Бухгалтерии предприятия 3.0, может называться просто — «Администрирование»). 2 — Выбираем «Печатные формы, отчеты и обработки» (см. рис. ниже ↓)

3 — Раскрываем подменю «Отчеты и обработки» (В других конфигурациях, как например в Бухгалтерии предприятия 3.0, такого подменю может не оказаться, поэтому сразу переходим к следующему действию). 4 — Ставим «галочку» Использование дополнительных отчетов и обработок. 5 — Переходим в раздел: Дополнительные отчеты и обработки. (см. рис. ниже ↓) ()

6 — Нажимаем кнопку «Создать». (см. рис. ниже ↓)

В новых версиях 1С (начиная с августа 2016 года) в программу встроен механизм предупреждения об опасности использования неизвестных внешних обработок, которые могут содержать «вирусы», в более ранних версиях программы предупреждение возникать не будет! Если оно возникло, то для подключения внешней печатной формы будет необходимо — 7 — нажать кнопку «Продолжить». (см. рис. ниже ↓)

8 — Выбираем каталог в котором находится обработка. 9 — Выделяем ее (нужную нам обработку). 10 — Нажимаем кнопку «Открыть». Либо вместо действий 9 и 10 можно просто дважды кликнуть по нужной нам внешней печатной форме в окне выбора. (см. рис. ниже ↓)

Если нам необходимо добавить размещение для добавляемой обработки (Например, это Универсальная форма договора с нашего сайта и нам надо, чтобы команда печати этой формы выводилась в каком-то объекте, в котором изначально не выводится) — 11 — нажимаем на строку размещения («Разместить в:», может быть «Размещение:») и выбираем необходимые справочники и документы. 12 — Завершаем действия по подключению внешней печатной формы нажатием кнопки «Записать и закрыть». (см. рис. ниже ↓)

Вот и все! Поздравляем! Внешняя печатная форма подключена! А все ли мы сделали правильно? Проверим…

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

Теперь точно — всё. Мы надеемся что данная статья была вам полезна.