1с програмно відкрити зовнішню обробку. Зовнішнє оброблення або друкована форма збережена в інформаційній базі

Для роботи із зовнішніми обробками (а зовнішня печатна форматеж є зовнішньою обробкою) існує об'єкт Зовнішні обробки.

Розглянемо два можливі випадки:

Зовнішня обробка зберігається на диску окремо від інформаційної бази

Для програмного відкриття зовнішньої обробки 1С потрібно знати адресу її файлу. Знаючи його, можна відкрити форму обробки, або отримати об'єкт обробки для проведення з ним подальших дій (наприклад, для виклику експортних функцій з модуля об'єкта).

Відкриття форми зовнішньої обробки

Для програмного відкриття форми зовнішньої обробки 1С використовується функція ОтриматиФорму()об'єкта Зовнішні обробки.Функція має декілька параметрів. Розглянемо просте відкриття основної форми обробки:


Форма = Зовнішні Обробки. ОтриматиФорму(АдресФайлу) ;
Форма. Відкрити() ;

Для відкриття неосновної форми зовнішньої обробки необхідно зазначити її ім'я.

//У змінній АдресаФайла знаходиться повний шляхдо файлу зовнішньої обробки
Форма = Зовнішні Обробки. ОтриматиФорму(АдресФайлу, "НеосновнаФорма") ;
Форма. Відкрити() ;

Відкриття зовнішньої обробки як об'єкта

Для того щоб отримати зовнішню обробку як об'єкт використовується функція Створити()об'єкта Зовнішні обробки.

//У змінній АдресаФайла знаходиться повний шлях до файлу зовнішньої обробки
Об'єкт Обробки = Зовнішні Обробки. Створити(АдресФайлу) ;

За замовчуванням всі обробки відкриваються в безпечному режимі. Щоб його вимкнути, використовуються такі параметри:

//У змінній АдресаФайла знаходиться повний шлях до файлу зовнішньої обробки

Зовнішнє оброблення або друкована форма збережена в інформаційній базі

У багатьох конфігураціях існує можливість зберігати зовнішні друковані форми та обробки безпосередньо в інформаційної бази. Для цього використовується довідник Зовнішні обробки.Сама зовнішня обробка зберігається як двійкових даних чи реквізиті СховищеЗовнішньоїОбробки, або в табличній частині Приналежністьу реквізиті СховищеЗовнішньоїОбробки.

Для відкриття зовнішньої обробки потрібно:

  1. Отримати її зі сховища.
  2. Зберегти файл із обробкою на диск.
  3. Відкрити форму або отримати об'єкт обробки.
  4. Якщо ми маємо справу із зовнішньою друкованою формою, то можна заповнити стандартний реквізит ПосиланняНаОб'єктта викликати експортну функцію Печатка.

//У змінній Посилання знаходиться посилання на елемент довідника ЗовнішніОбробки
ДДДані = Посилання. Сховище зовнішньої обробки. Отримати() ;
АдресаФайлу= ОтриматиІм'яТимчасовогоФайлу() ;
ДвДані. Записати(АдресФайлу) ;
Об'єкт Обробки = Зовнішні Обробки. Створити (Адрес Файла, Брехня);

Розглянемо у цій статті покрокову інструкціющодо створення зовнішньої обробки в 1С 8.3 в режимі керованого додатка, відповідно, будемо використовувати керовані форми. А найголовніше — ми навчимося підключати її до механізму зовнішніх обробок конфігурацій 1С, побудованих на бібліотеці стандартних підсистем версії 2.0 і новіші.

Завдання буде наступне: створити найпростішу зовнішню обробку, яка виконуватиме групову дію над довідником «Номенклатура», а саме, встановлюватиме обраний відсоток ставки ПДВ для зазначеної групи номенклатури.

Для цього одразу зробимо необхідне налаштування у програмі (розглядається конфігурація 1С 8.3: «Бухгалтерія підприємства 3.0» на керованих формах).

Установка даного прапорця дає можливість використовувати зовнішні обробки.

Створення нової зовнішньої обробки 1С 8.3 на прикладі

Тепер переходимо до конфігуратора. У меню "Файл" вибираємо "Новий ...". Відкриється вікно вибору виду створюваного файлу. Вибираємо « Зовнішня обробка»:

Відкриється вікно нової зовнішньої обробки. Відразу поставимо їй ім'я. Воно буде запропоновано за умови збереження обробки на диск:

Додамо нову керовану форму обробки. Вказуємо, що це форма обробки і є основною:

На формі у нас буде два реквізити:

  • Група Номенклатури – посилання на довідник "Номенклатура";
  • ВибСтавка ПДВ – посилання на перерахування Ставки ПДВ.

Створюємо реквізити у колонці «Реквізит» у верхньому правому вікні. Перетягуємо мишкою їх у верхнє ліве вікно. Нові реквізити повинні відразу відобразитись на формі внизу.

Черговість реквізитів можна міняти стрілками «Вгору» – «Вниз»:

Отримайте 267 відеоуроків з 1С безкоштовно:

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

У модулі форми буде створено однойменну процедуру. У ній викличемо процедуру на сервері:

&На Клієнті

Процедура ВстановитиСтавку ПДВ(Команда)

ВстановитиСтавку ПДВСервері();

КінецьПроцедури

У процедурі на сервері напишемо невеликий запит та дії, пов'язані із встановленням ставки ПДВ:

&На сервері

Процедура ВстановитиСтавку ПДВСервері()

Запит = Новий Запит;
Запит.Текст =
«ВИБРАТИ
| Номенклатура.

| Довідник Номенклатура ЯК Номенклатура
|ДЕ
| Номенклатура.Посилання В ІЄРАРХІЇ (&ГрупаНоменклатури)
| І НЕ Номенклатура.
| І НЕ Номенклатура. Це Група »;

Запит.ВстановитиПараметр(«Група номенклатури», група номенклатури);
РезЗапроса = Запрос.Выполнить();
ВибДетЗаписи = РезЗапроса.Вибрати();

Поки ВибДетЗаписи.Наступний() Цикл

Спроба
СпрНомОбъект.Записать();
Виняток
Повідомити(«Помилка запису об'єкта «»» + СпрНомОб'єкт + «»»!
|» + ОписПомилки());
КінецьСпроби;

КінецьЦикл;

КінецьПроцедури

Повертаємось на закладку «Форма», додаємо на форму кнопку та зв'язуємо її з командою:

Як така наша обробка готова до використання. Щоб її викликати, у режимі "1С Підприємства" потрібно зайти в меню "Файл" - "Відкрити" і вибрати створений файл.

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

Для цього і служить розділ « Додаткові звітита обробки».

Але щоб додати туди нашу обробку, потрібно спочатку дати їй опис та повідомити програму її властивості.

Опис функції «Відомості про зовнішню обробку»

Наведу приклад вмісту цієї функції. Вона має бути експортною і, відповідно, розташовуватися в модулі обробки:

Функція ВідомостіЗовнішнійОбробці() Експорт

ДаніДляРег = Новий Структура();
ДаніДляРег.Вставити(«Найменування», «Установка ставки ПДВ»);
ДаніДляРег.Вставити(«БезпечнийРежим», Істина);
ДаніДляРег.Вставити(«Версія», «ver.: 1.001»);
ДаніДляРег.Вставити(«Інформація», «Обробка для встановлення ставки ПДВ у довіднику Номенклатура»);
ДаніДляРег.Вставити(«Вигляд», «Додаткова Обробка»);

ТабЗнКоманда = Новий ТаблицяЗначень;
ТабЗнКоманди.Колонки.Додати(«Ідентифікатор»);
ТабЗнКоманди.Колонки.Додати(«Використання»);
ТабЗнКоманди.Колонки.Додати(«Подання»);

НовийРядок = ТабЗнКоманда.Додати();
НовСтрока.Ідентифікатор = «Відкрити Обробку»;
НовийРядок.Використання = «ВідкриттяФорми»;
НовСтрока.Представлення = «Відкрити обробку»;
ДаніДляРег.Вставити(«Команди», ТабЗнКоманди);

Повернення ДаніДляРег;

КінецьФункції

Щоб краще зрозуміти, які поля структури реєстраційних даних потрібно використовувати, переглянемо реквізити довідника «Додаткові звіти та обробки»:

Як бачимо, все досить просто. Не збігається лише один реквізит: "Варіант Запуску" - "Використання". Якщо подивитися код одного із загальних модулів, то ми побачимо, як виникає зв'язка цих полів:

Щоб визначити, які поля структури є обов'язковими, можна спочатку не описувати її, просто створити порожню, а далі скористатися відладчиком. Якщо трасувати модулі під час реєстрації обробки, відразу стає зрозуміло, які поля потрібні, а які ні.

Підключення зовнішньої обробки до 1С 8.3



Завантаження...
Top