- Створення зовнішньої обробки
- Створення макета друкарської форми
- програмування
- Автореєстрація друкованої форми
Розглянемо написання найпростішої друкованої форми в 1с 8.1 - 8.2 на прикладі конфігурації Бухгалтерія підприємства 2.0. Припустимо потрібно написати зовнішню друковану форму до документа Реалізація товарів і послуг : Вивести основні дані документа, а так само з табличній частині Товари: номенклатуру, ціну, кількість і суму.
Завантажити вийшов приклад можна по засланні .
Створення зовнішньої обробки
У конфігураторі 1C Підприємство 8 створюємо зовнішню обробку (Файл-> Новий-> Зовнішня обробка), задаємо ім'я, створюємо обов'язковий для зовнішньої друкованої форми реквізит СсилкаНаОб'ект з типом ДокументСсилка.РеалізаціяТоваровУслуг.
Створення макета друкарської форми
Додаємо новий макет, тип макета залишаємо Табличний документ. На макеті створюємо три області: Шапка, Дані і Підвал. Зробити це можна виділивши потрібну кількість рядків і натиснувши меню Табліца-> імена-> Призначити ім'я (Ctrl + Shift + N).
Після цього починаємо розташовувати в областях та внесіть необхідні. В шапку виведемо назва друкованої форми, номер документа і організацію, а також намалюємо кордону шапки таблиці і напишемо імена колонок. При створенні параметра у властивостях осередку, на закладці макет слід встановити властивість Заповнення в значення Параметр.
В області Дані створимо параметри для виведення рядків табличної частини (Номенклатура, ціна і т.д.), а в області Підвал для підсумків за кількістю і сумою.
програмування
Зайдемо в модуль об'єкта друкованої форми дії-> Відкрити модуль об'єкта.
Створимо там обов'язкову для друкованих форм експортну функцію Друк ().
Функція Друк () Експорт КонецФункціі
У функції створимо змінну для табличного документа, в який буде виводиться друкована форма, отримаємо макет і області макета.
ТабДок = новий ТаблічнийДокумент; Макет = ПолучітьМакет ( "Макет"); ОбластьШапкі = Макет.ПолучітьОбласть ( "Шапка"); ОбластьДанние = Макет.ПолучітьОбласть ( "Дані"); ОбластьПодвал = Макет.ПолучітьОбласть ( "Підвал");
Заповнимо параметри шапки і виведемо її в табличний документ.
ОбластьШапкі.Параметри.ТекстЗаголовка = "Друкована форма" + СсилкаНаОб'ект.Номер; ОбластьШапкі.Параметри.Організація = СсилкаНаОб'ект.Організація; ТабДок.Вивесті (ОбластьШапкі);
Для того щоб отримати рядки табличній частини Товари використовуємо запит.
Запит = новий запит; Запрос.УстановітьПараметр ( "Посилання", СсилкаНаОб'ект); Запрос.Текст = "ВИБРАТИ | РеалізаціяТоваровУслугТовари.Номенклатура, | РеалізаціяТоваровУслугТовари.Сумма, | РеалізаціяТоваровУслугТовари.Цена, | РеалізаціяТоваровУслугТовари.Колічество | З | Документ.РеалізаціяТоваровУслуг.Товари ЯК РеалізаціяТоваровУслугТовари | ДЕ | РеалізаціяТоваровУслугТовари.Ссилка = & Посилання";
У параметр запиту передаємо реквізит СсилкаНаОб'ект, що б вказати в умови ДЕ, що нам потрібні дані тільки того документа з якого виводимо друковану форму. Щоб отримати вибірку запиту, спочатку виконуємо його, а потім вибираємо рядки.
Вибірка = Запрос.Виполніть (). Вибрати ();
Далі в циклі заповнюємо параметри області Дані для кожного рядка вибірки документа і виводимо їх в табличний документ. Також в циклі вважаємо підсумкові значення кількості і суми. Заповнювати кожен параметр окремо ми не будемо, а використовуємо процедуру ЗаполнітьЗначеніяСвойств ((<Приймач »,« Джерело>) з глобального контексту, вона копіює значення властивостей <Джерела> в якості <Приймача>. Зіставлення проводиться по іменах властивостей. Детальніше про це можна прочитати в синтаксис-помічника 1С Підприємство 8.
ІтогоСумма = 0; ІтогоКолічество = 0; Поки Виборка.Следующій () Цикл ЗаполнітьЗначеніяСвойств (ОбластьДанние.Параметри, Вибірка); ІтогоСумма = ІтогоСумма + Виборка.Сумма; ІтогоКолічество = ІтогоКолічество + Виборка.Колічество; ТабДок.Вивесті (ОбластьДанние); КонецЦікла;
Заповнимо і виведемо область Підвал.
ОбластьПодвал.Параметри.ІтогоКолічество = ІтогоКолічество; ОбластьПодвал.Параметри.ІтогоСумма = ІтогоСумма; ТабДок.Вивесті (ОбластьПодвал);
Повертаємо заповнений табличний документ з функції Друк ().
повернення ТабДок;
Якщо ви використовуєте одну з типових конфігурацій, то після повернення табличного документа 1С саме виведе на екран друковану форму. Так само для виведення можна використовувати метод табличного документа Показати ().
5. Підключення друкованої форми до документа
У типових конфігураціях 1С 8 для реєстрації зовнішніх друкованих форм існує довідник ВнешніеОбработкі. Для підключення слід в режимі підприємства зайти в меню Сервіс> Додаткові звіти і обробки-> Додаткові зовнішні друковані форми.
Додаємо новий елемент довідника, завантажуємо друковану форму з диска і вибираємо тип документа.
Тепер в документі Реалізація товарів і послуг з'явиться нова друкована форма.
Автореєстрація друкованої форми
Для того щоб при підключенні друкованої форми не потрібно було вибирати тип документа вручну можна налаштувати автореєстрацію. Для цього додаємо новий макет і називаємо його Параметри_Авторегістраціі (тільки так) і в першій його осередку пишемо Документи. <Найменування документа> (або Довідники. <Найменування довідника>).
Тепер при підключенні друкованої форми нам буде запропоновано скористатися параметрами автореєстрації.
Читайте також статтю про створення друкованої форми в керованому додатку 1С .
Дивіться відео зі створення зовнішньої друкованої форми для керованого застосування: