Донецкий техникум промышленной автоматики

Створення зовнішніх друкованих форм 1С

  1. Створення зовнішньої обробки
  2. Створення макета друкарської форми
  3. програмування
  4. Автореєстрація друкованої форми

Розглянемо написання найпростішої друкованої форми в 1с 8.1 - 8.2 на прикладі конфігурації Бухгалтерія підприємства 2.0. Припустимо потрібно написати зовнішню друковану форму до документа Реалізація товарів і послуг : Вивести основні дані документа, а так само з табличній частині Товари: номенклатуру, ціну, кількість і суму.

Завантажити вийшов приклад можна по засланні .

Створення зовнішньої обробки

У конфігураторі 1C Підприємство 8 створюємо зовнішню обробку (Файл-> Новий-> Зовнішня обробка), задаємо ім'я, створюємо обов'язковий для зовнішньої друкованої форми реквізит СсилкаНаОб'ект з типом ДокументСсилка.РеалізаціяТоваровУслуг.

Створення макета друкарської форми

Додаємо новий макет, тип макета залишаємо Табличний документ. На макеті створюємо три області: Шапка, Дані і Підвал. Зробити це можна виділивши потрібну кількість рядків і натиснувши меню Табліца-> імена-> Призначити ім'я (Ctrl + Shift + N).

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

В області Дані створимо параметри для виведення рядків табличної частини (Номенклатура, ціна і т.д.), а в області Підвал для підсумків за кількістю і сумою.

програмування

Зайдемо в модуль об'єкта друкованої форми дії-> Відкрити модуль об'єкта.

Створимо там обов'язкову для друкованих форм експортну функцію Друк ().

Функція Друк () Експорт КонецФункціі

У функції створимо змінну для табличного документа, в який буде виводиться друкована форма, отримаємо макет і області макета.

ТабДок = новий ТаблічнийДокумент; Макет = ПолучітьМакет ( "Макет"); ОбластьШапкі = Макет.ПолучітьОбласть ( "Шапка"); ОбластьДанние = Макет.ПолучітьОбласть ( "Дані"); ОбластьПодвал = Макет.ПолучітьОбласть ( "Підвал");

Заповнимо параметри шапки і виведемо її в табличний документ.

ОбластьШапкі.Параметри.ТекстЗаголовка = "Друкована форма" + СсилкаНаОб'ект.Номер; ОбластьШапкі.Параметри.Організація = СсилкаНаОб'ект.Організація; ТабДок.Вивесті (ОбластьШапкі);

Для того щоб отримати рядки табличній частини Товари використовуємо запит.

Запит = новий запит; Запрос.УстановітьПараметр ( "Посилання", СсилкаНаОб'ект); Запрос.Текст = "ВИБРАТИ | РеалізаціяТоваровУслугТовари.Номенклатура, | РеалізаціяТоваровУслугТовари.Сумма, | РеалізаціяТоваровУслугТовари.Цена, | РеалізаціяТоваровУслугТовари.Колічество | З | Документ.РеалізаціяТоваровУслуг.Товари ЯК РеалізаціяТоваровУслугТовари | ДЕ | РеалізаціяТоваровУслугТовари.Ссилка = & Посилання";

У параметр запиту передаємо реквізит СсилкаНаОб'ект, що б вказати в умови ДЕ, що нам потрібні дані тільки того документа з якого виводимо друковану форму. Щоб отримати вибірку запиту, спочатку виконуємо його, а потім вибираємо рядки.

Вибірка = Запрос.Виполніть (). Вибрати ();

Далі в циклі заповнюємо параметри області Дані для кожного рядка вибірки документа і виводимо їх в табличний документ. Також в циклі вважаємо підсумкові значення кількості і суми. Заповнювати кожен параметр окремо ми не будемо, а використовуємо процедуру ЗаполнітьЗначеніяСвойств ((<Приймач »,« Джерело>) з глобального контексту, вона копіює значення властивостей <Джерела> в якості <Приймача>. Зіставлення проводиться по іменах властивостей. Детальніше про це можна прочитати в синтаксис-помічника 1С Підприємство 8.

ІтогоСумма = 0; ІтогоКолічество = 0; Поки Виборка.Следующій () Цикл ЗаполнітьЗначеніяСвойств (ОбластьДанние.Параметри, Вибірка); ІтогоСумма = ІтогоСумма + Виборка.Сумма; ІтогоКолічество = ІтогоКолічество + Виборка.Колічество; ТабДок.Вивесті (ОбластьДанние); КонецЦікла;

Заповнимо і виведемо область Підвал.

ОбластьПодвал.Параметри.ІтогоКолічество = ІтогоКолічество; ОбластьПодвал.Параметри.ІтогоСумма = ІтогоСумма; ТабДок.Вивесті (ОбластьПодвал);

Повертаємо заповнений табличний документ з функції Друк ().

повернення ТабДок;

Якщо ви використовуєте одну з типових конфігурацій, то після повернення табличного документа саме виведе на екран друковану форму. Так само для виведення можна використовувати метод табличного документа Показати ().

5. Підключення друкованої форми до документа

У типових конфігураціях 1С 8 для реєстрації зовнішніх друкованих форм існує довідник ВнешніеОбработкі. Для підключення слід в режимі підприємства зайти в меню Сервіс> Додаткові звіти і обробки-> Додаткові зовнішні друковані форми.

Додаємо новий елемент довідника, завантажуємо друковану форму з диска і вибираємо тип документа.

Тепер в документі Реалізація товарів і послуг з'явиться нова друкована форма.

Автореєстрація друкованої форми

Для того щоб при підключенні друкованої форми не потрібно було вибирати тип документа вручну можна налаштувати автореєстрацію. Для цього додаємо новий макет і називаємо його Параметри_Авторегістраціі (тільки так) і в першій його осередку пишемо Документи. <Найменування документа> (або Довідники. <Найменування довідника>).

Тепер при підключенні друкованої форми нам буде запропоновано скористатися параметрами автореєстрації.

Читайте також статтю про створення друкованої форми в керованому додатку 1С .

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