Як друкувати правильні накладні

Необхідно вивести на друк останню сторінку накладної так, щоб туди потрапила хоча б один рядок табличної частини документа.

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

Отже:
  • ШАПКА # 150; частина друкованої форми документа, розташована перед рядками табличній частині, в яких виводиться інформація про склад накладної, цінах, кількості та ін. Шапка включає в себе шапку документа, де виводяться загальні реквізити документа (клієнт, склад, дата і номер документа, підстава та ін .), і заголовок табличній частині, в якому виводяться назви стовпців табличній частині.
  • СТРОКА # 150; в рядках табличній частині виводиться інформація табличній частині документа відповідно до шапкою табличній частині.
  • ПІДВАЛ # 150; частина документа, розташована після останнього рядка табличної частини. Вона включає в себе підсумкову інформацію по документу (підсумкові суми, загальна кількість і т.д.), місця для підписів і печаток, різні примітки та ін.
  • У правильно оформленому документі підвал повинен бути розташований на одній сторінці з останнім рядком і сам, як правило, не повинен розбиватися на дві сторінки. Звичайно, бувають і багатосторінкові підвали, але я такі поки не зустрічав.

    Є як мінімум два варіанти дотримання цієї умови, назвемо їх програмний і технологічний.

    Приклад використання першого варіанта # 150; стандартна методика формування друкованої форми ТОРГ-12 в типових конфігураціях фірми 1С. Основна ідея # 150; використання рядків і сторінки фіксованої висоти. При цьому на сторінку поміщається фіксовану кількість рядків.

    Методика розрахунку такої накладної дуже проста.
    1. За основну одиницю висоти приймається 1 рядок табличної частини.
    2. Визначаються основні параметри: висота шапки (10 рядків), висота підвалу (8 рядків), висота сторінки (22 рядки)
    3. Далі для кожної сторінки визначається кількість рядків, які на ній помістяться. Для першої сторінки враховується висота шапки.
    4. Якщо на чергову сторінку поміщаються всі залишилися рядки, то перевіряється, а чи поміститься на цю сторінку підвал. Якщо немає, то останній рядок переноситься на останню сторінку разом з підвалом.
    Як бачите, при такому методі висновок друкованої форми проводиться в основному за рахунок програмних розрахунків, тому і назвемо його програмним.Недоліки цього методу:
    • накладна виводиться тільки на фіксований формат аркуша: тогр-12 розрахував тільки на формат А4 альбомного формату. Якщо ми захочемо вивести накладну ТОРГ-12 в портретному вигляді і виствім опцію стиснення таблиці по ширині листа, то накладна буде виводитися тільки у верхній половині станиці; якщо ж ми захочемо виконати цю операцію при виведенні друкованої форми рахунки-фактури, то сторінка буде заповнена повністю.
  • назви товарів не поміщаються в призначені їм осередки і обрізаються.
  • Але даний метод незамінний для дотримання ще однієї вимоги форми накладної ТОРГ-12 # 150; необхідності розрахунку сум по кожній сторінці. Для цього необхідно чітко знати, скільки рядків поміститься на сторінці. Засобами V7 неможливо відстежити момент переходу на іншу сторінку, тому неможливо і визначити момент, коли буде необхідно вставити підсумковий рядок по сторінці.

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

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

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

    Дня початку зробимо так, щоб підвал виводився на одній сторінці. Для цього виділимо всі рядки підвалу, виберемо "Таблиця - Положення на сторінці" і встановимо властивість "Разом з наступним".

    Тепер скопіюємо секцію "рядок" на нове місце. До речі, якщо секція "рядок" складається з декількох рядків (sorry за тавтологію), то їх теж рекомендується скріпити. Для цього необхідно для всіх рядків секції, крім останньої, встановити властивість "Разом з наступним". Для останнього рядка це властивість необхідно зняти, щоб виключити її прикріплення до наступного рядка.

    Отже, ми скопіювали секцію "рядок" на нове місце, скопійоване рядок об'єднаємо в нову секцію "останній рядок" і встановимо цьому рядку властивість "Разом з наступним". Якщо в секції кілька рядків, то об'єднуємо в нову секцію і встановлюємо властивість у всіх рядків. Це дозволить прикріпити останній рядок до першому рядку підвалу.

    І, нарешті, останній крок. Трохи міняємо процедуру друку накладної. У циклі виведення рядків документа необхідно внести наступні зміни:

    // Замість:
    Таб.ВивестіСекцію ( "Рядок");
    // Необхідно:
    якщо НомСтрокі <ВсегоСтрок Тогда
    Таб.ВивестіСекцію ( "Рядок");
    інакше
    Таб.ВивестіСекцію ( "ПоследняяСтрока");
    КонецЕсли;

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

    Основна перевага такого варіанту # 150; простота. При цьому документ зберігає всі старі властивості, наприклад можливість друку на аркушах різного формату без яких би то ні було доробок.
    • Як друкувати правильні звіти?