Розробка друкованої форми документа - студопедія

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

У реальних облікових системах, побудованих на базі 1С: Підприємство 8 робота з деякими документами будується наступним чином. Документ заповнюють, зберігають, роздруковують. Після роздруківки виконуються будь-які дії, передбачені документом, на друкованій формі документа збираються необхідні підписи, після чого документ, вже електронний, відкривають, перевіряють відповідність електронної та друкованої версій і проводять.

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

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

Другий етап розробки друкованої форми - це створення програмного коду, який на основі даних документа і макета "збирає" друковану форму.

Розробку друкованих форм можна прискорити, скориставшись так званим конструктором друку. Для цього відкриємо в конфігураторі вікно редагування документа ПоступленіеМатеріалов. в цьому вікні виберемо вкладку Макети. на ній натиснемо кнопку Конструктори. у випадаючому меню виберемо пункт Конструктор друку (рис. 6.1).

Розробка друкованої форми документа - студопедія

Мал. 6.1. Вкладка Макети вікна редагування властивостей документа

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

Розробка друкованої форми документа - студопедія

Мал. 6.2. Початок роботи з конструктором друку

У другому вікні конструктора (рис. 6.3) нам пропонується задати, які реквізити документа потраплять в шапку друкованої форми, тобто - в її верхню частину.

Розробка друкованої форми документа - студопедія

Мал. 6.3. Конструктор друку документа, завдання параметрів шапки друкованої форми

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

Натиснувши в черговий раз кнопку Далі. ми потрапляємо у вікно конструктора друку, яке призначене для налаштування виводу в друковану форму табличній частині документа. Логіка роботи з даними вікном нічим не відрізняється від роботи з вищеописаним. На рис. 6.4 ви можете бачити стан третього вікна конструктора друку після того, як ми налаштували його таким чином, щоб на друк виводилися всі доступні реквізити табличної частини документа.

Розробка друкованої форми документа - студопедія

Мал. 6.4. Конструктор друку документа, завдання параметрів табличній частині друкованої форми

Наступне, четверте, вікно конструктора, містить набір полів для виведення в підвалі. Виберемо для відображення в підвалі реквізит СтоімостьМатеріалов.

Чергове натискання кнопки Далі призводить нас до останнього вікна конструктора. Тут ми вкажемо, що хочемо, щоб в форму документа була додана кнопка Друк. Мал. 6.5.

Розробка друкованої форми документа - студопедія

Мал. 6.5. Конструктор друку документа, останнє вікно, настройка кнопки виклику процедури друку

Розробка друкованої форми документа - студопедія

Зверніть увагу на те, що на нижній панелі управління форми з'явилася нова кнопка - Друк. Зверніть також увагу на те, що табличний документ, який являє собою макет. розбитий на іменовані області. Тут ми можемо бачити області Тема. Шапка, МатеріалиШапка. Матеріали і Підвал. У цих областях ми можемо бачити осередки, що містять звичайний текст, без будь-яких спеціальних символів. При виведенні іменованої області в друкований документ, ці тексти будуть виведені в тому вигляді, в якому вони представлені в макеті. з використанням того ж форматування. Якщо ж в макет виводиться осередок, текст в якій обрамлений значками "<>", В цьому осередку буде виведений будь-якої реквізит документа. Зокрема, в кутових дужках в даному випадку виводяться параметри для виведення їх в осередках. Імена параметрів збігаються з відповідними іменами реквізитів документа.

Те, що ви зараз дізналися, зробить досить простим знайомство з процедурою друку, яка була сформована автоматично. Нагадаємо, що під час роботи конструктора друку ми вказали, що зберігати цю процедуру слід в модулі форми. Знайдемо процедуру в модулі форми (вкладка Модуль). Ось як виглядає текст модуля:

// Даний фрагмент побудований конструктором.

// При повторному використанні конструктора, внесені вручну зміни будуть втрачені.

ТабДок = Новий ТаблічнийДокумент;

Пояснимо програмні конструкції, які були використані в даній процедурі

ТабДок = Новий ТаблічнийДокумент;

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

У змінну Макет записуємо посилання на макет з ім'ям Друк, який належить нашому документу. Будемо використовувати цю змінну для доступу до макету.

У заголовку, якщо подивитися на макет. є лише текст, який містить назву документа і ніяких полів, які потрібно заповнювати даними документа. А ось в шапці такі параметри є. Область, відповідну шапці, ми отримуємо вже розглянутим методом. А ось наступна команда - Шапка.Параметри.Заполніть (ЕтотОб'ект); дозволяє заповнити осередки області, що містять параметри, реквізитами об'єкта, переданого в якості параметра (в даному випадку ми маємо справу з об'єктом ЕтотОб'ект - він дозволяє отримати той документ, з яким ми в даний момент працюємо). Відповідності між параметрами і реквізитами документа встановлюються по іменах. Осередок, що містить параметр <Номер> буде заповнена реквізитом документа з ім'ям Номер і так далі.

У даній ділянці коду ми отримуємо область, відповідну шапці таблиці і виводимо її в табличний документ. Далі слід обробка таблиці і її порядковий висновок:

Для Кожного ТекСтрокаМатеріали З Матеріали Цикл

Тут ми бачимо цикл, який перебирає кожен рядок табличної частини Матеріали. На основі кожної з рядків (змінна ТекСтрокаМатеріали) він заповнює параметри області Матеріали і виводить її в табличний документ.

Підвал виводиться вже знайомим вам чином. Далі ви можете налаштувати деякі властивості формованого документа, що впливають на його зовнішній вигляд:

Тут відключається відображення сітки, звичайної для табличних документів, встановлюються в Брехня властивості документа, що відповідають за його захист і за заборону редагування, відключається відображення заголовків, і, після того як все налаштовано, табличний документ робиться видимим - за допомогою методу Показати.

Запустимо наше прикладне рішення в режимі 1С: Підприємство і подивимося, як виглядає друкована форма для якого-небудь документа, ПоступленіеМатеріалов (рис. 6.7).

Розробка друкованої форми документа - студопедія

Мал. 6.7. Сформована друкована форма документа

Для того щоб роздрукувати цю форму, досить скористатися командою головного меню програми Файл> Друк.

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

На даному етапі не будемо більше покращувати і допрацьовувати документ ПоступленіеМатеріалов. Займемося ще одним документом нашої конфігурації.