1с как сделать внешнюю обработку

1с как сделать внешнюю обработку

1с как сделать внешнюю обработку

1с как сделать внешнюю обработку

Дополнительные отчеты и обработки — подсистема, предназначена для расширения функционала решения без изменения конфигурации. Этот модуль позволяет разработать новые возможности в программе и встроить их. Ниже речь пойдет о подсистеме из последней Библиотеки стандартных подсистем (версии 2) на платформе 1С 8.3 и 8.2. Она уже встроена в такие конфигурации, как 1С: Управление торговлей 11, Бухгалтерия предприятия 3, 1С Управление предприятием 2.0, 1С: Зарплата и управление персоналом 3.

Библиотека стандартных подсистем 1С

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

Создание и настройка

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

Функция должна возвращать структуру со следующими ключами:

  • Вид — назначения объекта. Возможные значения: «ДополнительныйОтчет», «ЗаполнениеОбъекта», «ДополнительнаяОбработка», «Отчет», «ПечатнаяФорма» или «СозданиеСвязанныхОбъектов».
  • Назначение — массив названий объектов, для которого предназначается данных отчет или обработка. Например — «Документ.РеализацияТоваровУслуг».
  • Наименование — строка, пользовательское имя обработки.
  • Команды — таблица значений, в которой содержатся , которые будут использоваться для добавления обработки или отчета в интерфейс программы (колонки таблицы: «Представление», «Идентификатор», «Использование», «ПоказыватьОповещение»,»Модификатор»).
  • ВерсияБСП — строка, версия встроенной в конфигурации библиотеки стандартных подсистем. Необходимы для поддержки совместимости.
  • БезопасныйРежим — булево, отображает режим запуска обработка — безопасный или нет. В безопасном режиме недоступен , , загрузка dll, доступ к файловой системе и интернету.
  • Информация — строка, комментарий, который характеризует обработку.
  • Версия — строка, версия обработки.

Пример создания внешней печатной формы

Рассмотрим небольшой пошаговый пример создания внешней печатной формы ТОРГ-12 для новой системы.

  1. Создайте обработку, прикрепите к ней макет будущей печатной формы.
  2. Создайте глобальную переменную модуля объекта СсылкаНаОбъект, куда будет передаваться ссылка на документ.
  3. В модуле объекта необходимо создать экспортную функцию СведенияОВнешнейОбработке
Функция СведенияОВнешнейОбработке() Экспорт ОбъектыНазначенияФормы = Новый Массив; ОбъектыНазначенияФормы.Добавить("Документ.РеализацияТоваровУслуг"); ПараметрыРегистрации = ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы, "ТОРГ - 12 (альтернативная)"); ПараметрыРегистрации.Версия = "2017.03.07"; ПараметрыРегистрации.Информация = "Внешняя печатная форма документа реализации товаров и услуг ТОРГ - 12 (альтернативная)"; ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, "ТОРГ - 12 (альтернативная)", // Представление команды в пользовательском интерфейсе "ТОРГ_12_альтернативная", // Уникальный идентификатор команды "ВызовСерверногоМетода", // Использование команды //ОткрытиеФормы Истина, // Показывать оповещение. "ПечатьMXL" // Дополнительный модификатор команды. ); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции

Где функция ПолучитьПараметрыРегистрации:

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

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

Процедура добавления команд ДобавитьКоманду:

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

В данных функциях описываются сведения о внешней печатной форме.

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

Функция Печать(СсылкаНаОбъект, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт КоллекцияПечатныхФорм = Новый ТаблицаЗначений; КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета"); КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ"); КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета"); КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент"); КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров"); КоллекцияПечатныхФорм.Колонки.Добавить("Картинка"); КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету"); Настройка=КоллекцияПечатныхФорм.Добавить(); Настройка.ИмяВРЕГ= "ТОРГ_12_АЛЬТЕРНАТИВНАЯ"; Настройка.Экземпляров = 1; УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ТОРГ_12_Альтернативная", "ТОРГ 12 (Альтернативная)", ПолучитьТабличныйДокументТорг12(СсылкаНаОбъект, ОбъектыПечати)); КонецФункции

Где функция ПолучитьТабличныйДокументТорг12(…) — функция, которая вернет уже подготовленный табличный документ для печати (подробности, как это делается — ).

5. Для размещения обработки необходимо посетить справочник внешних отчетов и обработок. Чаще всего они располагаются на вкладке «Администрирование».

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

Настройка включения внешних печатных форм

В справочнике необходимо нажать кнопку «Добавить», после чего система предложит прикрепить внешнюю .

Добавление в 1С новой печатной формы

 Если всё указано верно, то система найдет, для какого документа предназначена обработка, и установит все настройки верно:

Новая печатная форма в списке

Вот и всё.

Подробное описание данного механизма можно найти к документации конфигурации БСП.

Скачать пример-шаблон внешней обработки можно по  .

Видеоурок по созданию внешних печатных форм в управляемых формах 1С 8.3:

Читайте и другие наши материалы по !

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

P.S. Наша компания предоставляет услуги по настройке, доработке и комплексному внедрению 1С. Закажите бесплатный расчет стоимости вашей задачи на странице или по телефону +7 (499) 350 29 00.

Наши услуги

Калькулятор внедрения 1C

Наш канал про 1С 8.3 и 8.2

Новые материалы по 1 С

Правила сайта


Источник: http://programmist1s.ru/dopolnitelnyie-otchetyi-i-obrabotki-1s-8-3/


1с как сделать внешнюю обработку

1с как сделать внешнюю обработку

1с как сделать внешнюю обработку

1с как сделать внешнюю обработку

1с как сделать внешнюю обработку

1с как сделать внешнюю обработку

1с как сделать внешнюю обработку

1с как сделать внешнюю обработку

1с как сделать внешнюю обработку

1с как сделать внешнюю обработку

1с как сделать внешнюю обработку