Додаткові звіти і обробки 1С 8.3 і 8.2

  1. Створення та налагодження
  2. Приклад створення зовнішньої друкованої форми

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

Але тепер працювати із зовнішніми компонентами не так просто, як раніше, в 1С БСП 1.0. Тепер необхідно підтримуватися деяких стандартів, які заклала фірма «1С». Розглянемо, як зробити розробку, настройку і як користуватися таким функціоналом.

Створення та налагодження

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

Функція повинна повертати структуру з наступними ключами:

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

Приклад створення зовнішньої друкованої форми

Розглянемо невеликий покроковий приклад створення зовнішньої друкованої форми ТОРГ-12 для нової системи.

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

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

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

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

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

В даних функціях описуються відомості про зовнішню друкованій формі.

4. У модулі об'єкта необхідно додати функцію «Друк», яка буде запускатися при друку.

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

Де функція ПолучітьТаблічнийДокументТорг12 (...) - функція, яка поверне вже підготовлений табличний документ для друку (подробиці, як це робиться - створення та налаштування друкованих форм в 1С на прикладі ).

5. Для розміщення обробки необхідно відвідати довідник зовнішніх звітів і обробок. Найчастіше вони розташовуються на вкладці «Адміністрування».

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

У довіднику необхідно натиснути кнопку «Додати», після чого система запропонує прикріпити зовнішню обробку 1С .

Якщо все вказано вірно, то система знайде, для якого документа призначена обробка, і встановить всі налаштування вірно:

От і все.

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

Завантажити приклад-шаблон зовнішньої обробки можна по засланні .

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

Читайте і інші наші матеріали по програмування 1С !

Якщо Ви починаєте вивчати 1С програмування, рекомендуємо наш курс (не забудьте підписатися на YouTube - регулярно виходять нові відео):