Имя: Пароль:
1C
1С v8
Некорректно отрабатывает ТабДокумент.ПроверитьВывод(СтрокаСПодвалом)
0 Vladislava-smile
 
15.12.16
08:46
// Проверим возможность вывода табличного документа
СтрокаСПодвалом = Новый Массив;
СтрокаСПодвалом.Добавить(ОбластьМакета);
Если НомерСтроки = КоличествоСтрок Тогда
   СтрокаСПодвалом.Добавить(ОбластьМакетаИтого);
   СтрокаСПодвалом.Добавить(ОбластьМакетаПодвал);

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



Алгоритм работает как надо если строка товара не переносится на следующую, в противном случае

функция ТабДокумент.ПроверитьВывод(СтрокаСПодвалом) показывает истину, НО после кода ТабДокумент.Вывести(ОбластьМакета); в отладчике рез. функции = ложь.

Как проверять перенос на след строку???
1 catena
 
15.12.16
09:02
Так после вывода ОбластьМакета ТабДокумент увеличивается на область макета, конечно результат будет другой при других исходных данных.
Или я не поняла или попытайтесь переформулировать проблему.
2 IlyaSR
 
15.12.16
09:04
я бы вынес СтрокаСПодвалом = Новый Массив;
перед циклом, а при обходе выборки сделал бы
СтрокаСПодвалом.Очистить()перед добавлением в него Областей
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn