Имя: Пароль:
1C
1С v8
Вывод 2-х расчтетных листков на страницу
0 1С-ница
 
15.12.11
14:23
1С 8.2.14.540
ЗУП 2.5.40.3
Задача: организовать вывод СТРОГО 2-х расчетных листков на страницу
Если не вмещаются - изменить масштаб

Код: (в модуле объекта отчета Расчетные листки)
Процедура РазбитьТабличныйДокументПоСтраницам(ТабличныйДокумент)
   
   Состояние(НСТР("ru='Разделение расчетных листков по страницам ...  (Если вы хотите прервать вывод отчета, нажмите Ctrl+Break)'"));
   
   ТабличныйДокументДляПроверки = Новый ТабличныйДокумент;
   ТабличныйДокументДляПроверки.Очистить();
   ТабличныйДокументДляПроверки.АвтоМасштаб = Истина;
   
   ОбластьПервойЯчейки = ТабличныйДокумент.НайтиТекст("Расчетный листок");
   ОбластьПоследнейЯчейки = ТабличныйДокумент.НайтиТекст("Долг за ");

   Если ОбластьПервойЯчейки = Неопределено тогда
       Возврат;
   КонецЕсли;
   

   Пока  ОбластьПервойЯчейки <> Неопределено Цикл
       Для РЛ = 1 по 2 Цикл
           НомерСтрокиНачалаРЛ = ОбластьПервойЯчейки.Верх - 1;
           НомерСтрокиКонцаРЛ  = ОбластьПоследнейЯчейки.Верх + 1;
           
           ОбластьРЛ = ТабличныйДокумент.Область(НомерСтрокиНачалаРЛ, , НомерСтрокиКонцаРЛ, );
           ОбластьПриемник = ТабличныйДокументДляПроверки.Область(ТабличныйДокументДляПроверки.ВысотаТаблицы+1, ,ТабличныйДокументДляПроверки.ВысотаТаблицы + (НомерСтрокиКонцаРЛ - НомерСтрокиНачалаРЛ)+1, );
           ТабличныйДокументДляПроверки.ВставитьОбласть(ОбластьРЛ, ОбластьПриемник, ТипСмещенияТабличногоДокумента.ПоВертикали, истина);
           
           Если РЛ = 2 Тогда
               ТабличныйДокументДляПроверки.ВывестиГоризонтальныйРазделительСтраниц();
               ТабличныйДокументДляПроверки.Область(НомерСтрокиНачалаРЛ, , НомерСтрокиНачалаРЛ,).НачалоСтраницы = истина;
           КонецЕсли;
           
           ОбластьСлед = ТабличныйДокумент.Область(НомерСтрокиКонцаРЛ, , НомерСтрокиКонцаРЛ, );
           ОбластьПервойЯчейки    = ТабличныйДокумент.НайтиТекст("Расчетный листок", ОбластьСлед);
           ОбластьПоследнейЯчейки = ТабличныйДокумент.НайтиТекст("Долг за ", ОбластьСлед);
           
       КонецЦикла;
       ОбработкаПрерыванияПользователя();
   КонецЦикла;
   
КонецПроцедуры

Не работает ни вывод горизонтального разделителя страниц, ни начало страницы, выводит все подряд
В чем ошибка?
1 1С-ница
 
15.12.11
14:42
Up
2 vicof
 
15.12.11
14:51
РЛ = 2?
3 1С-ница
 
15.12.11
14:54
(2) РЛ переменная хранящая номер расчетного листка
Когда выводится второй листок надо перейти на следующую страницу
4 vicof
 
15.12.11
14:57
а вообще нафига два листка на одну страницу?
5 1С-ница
 
15.12.11
14:57
(4) клиенту надо
6 vicof
 
15.12.11
15:03
А если автомасштаб в ложь поставить?
7 1С-ница
 
15.12.11
15:10
(6)ставила в ложь, толку 0
Выводит на печать столько строк, сколько влезает
8 1С-ница
 
15.12.11
15:22
Upp
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.