Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 19:16

Функция ПроверитьВывод()

Автор deringpavel, 08 апр 2013, 11:57

0 Пользователей и 1 гость просматривают эту тему.

deringpavel

При использовании функции ПроверитьВывод() был выведен разрыв страницы, и теперь нужно вывести итоги на каждой странице. Я реализовал эту функцию, но вот итоги выводятся одинаковые на обеих страницах. Где я ошибся?
Код:


    ТабличныйДокумент.Вывести(ОбластьШапка);

НомерСтраницы = 1;
ОбластьЗаголовок = Макет.ПолучитьОбласть("ЗаголовокТаб");
ОбластьЗаголовок.Параметры.НомерСтраницы = "Страница" + НомерСтраницы;
ТабличныйДокумент.Вывести(ОбластьЗаголовок);

Номер = 0;

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

Если Номер = КолСтр Тогда
МассивОбластей.Добавить(Макет.ПолучитьОбласть("ИтогоПоСтранице"));
      МассивОбластей.Добавить(Макет.ПолучитьОбласть("Всего"));
      МассивОбластей.Добавить(Макет.ПолучитьОбласть("Подвал"));
КонецЕсли;

       
Итого = Макет.ПолучитьОбласть("ИтогоПоСтранице");
РезультатС = ЗапросДанные.Выполнить();
ВыборкаС = РезультатС.Выбрать();

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



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

ТабличныйДокумент.Вывести(ОбластьСтрока);
КонецЦикла;


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск