8.х Вывод печатной формы с подписями.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем illiona, 17 июл 2017.

  1. TopicStarter Overlay
    illiona
    Offline

    illiona

    Регистрация:
    17 май 2016
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте! Есть печатная форма, в табличном документе выводится таблица (заполняется в цикле) и подвал с подписями, необходимо следующее: если на страницу не входит таблица + подвал, то последнюю строку таблицы вместе с подвалом переносить на новую страницу. Если вывод входит в две страницы, то работает, если три и более - то рвутся подписи
    // Шапка
    Область = Макет.ПолучитьОбласть("Шапка");

    // Шапка списка товаров
    Область1 = Макет.ПолучитьОбласть("ТоварыШапка");
    ТабДок.Вывести(Область1);

    // Товары
    ОбластьТовары = Макет.ПолучитьОбласть("Строка");
    ВсегоСтрокПоИндексу = Товары.Количество()-1;

    // Подписи (формируем)
    Подвал = Макет.ПолучитьОбласть("Подвал");

    // Вывод товаров
    Для ИНД = 0 ПО ВсегоСтрокПоИндексу Цикл
    ТекСтрокаТовары = Товары[ИНД];
    ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары);
    ОбластьТовары.Параметры.ТоварКод = ТекСтрокаТовары.Товар.Код;
    ОбластьТовары.Параметры.КодЕдиницаИзмерения = ТекСтрокаТовары.ЕдиницаИзмерения.Код;

    // Проверим последнюю строку перед выводом
    Если ИНД = ВсегоСтрокПоИндексу Тогда
    МВО.Очистить();
    МВО.Добавить(Область);
    МВО.Добавить(Область1);
    МВО.Добавить(ОбластьТовары);
    МВО.Добавить(Подвал);
    Если НЕ ТабДок.ПроверитьВывод(МВО) Тогда
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;
    КонецЕсли;
    ТабДок.Вывести(ОбластьТовары);
    КонецЦикла;

    Подвал.Параметры.ИтогоЦенаПродажиСН = Товары.Итог("ЦенаПродажиСН");
    Подвал.Параметры.ИтогоКоличествоЗ = Товары.Итог("Количество");
    Подвал.Параметры.ИтогоКоличествоО = Товары.Итог("Количество");
    Подвал.Параметры.ИтогоСуммаПродажиСН = Товары.Итог("СуммаПродажиСН");
    //Подвал.Параметры.Руководитель = ДанныеФирма.Руководитель;

    ТабДок.Вывести(Подвал);

    ТабДок.Показать();
  2. AlexeyKh
    Offline

    AlexeyKh Опытный в 1С

    Регистрация:
    27 июл 2012
    Сообщения:
    148
    Симпатии:
    18
    Баллы:
    29
    у вас не правильно настроена проверка вывода.
    в массив проверки надо помещать последнюю строчку таблицы (область строка) + области Итог + Подписи + Подвал (то что в конце непрерывно должно идти)
    ни какой шапки в массиае не должно быть.
    для примера можете посмотреть как в стандартных конфигурациях сама 1С выводит Торг-12 или др. печ.формы.

Поделиться этой страницей