Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

УПП 1.3 Печать УПД

УПП 1.3 Печать УПД
Я
   ColonelAp4u
 
22.09.17 - 11:55
Добрый день коллеги, может кто сталкивался с такой проблемой, УПП типовая, последние обновления, при печати УПД выводится Табличный документ с разрывами страницы, и визуально мы видим что печать будет произведена на 3 страницах. Но в предварительном просмотре и при печати печатается на 5 страницах. Допустим визуально видим первый лист шапка + 16 наименований товара + подвал страницы, при печати и в предварительном просмотре выводит Шапка + товары 15 наименований + подвал страницы на 1 странице и 1 позицию без шапки и без подвала на другой. Как победить это?
 
 
   _Дайвер_
 
1 - 22.09.17 - 12:00
(0) А место то вообще остается? Если да смотри макет, и формирование ПФ
   _Дайвер_
 
2 - 22.09.17 - 12:00
(1) + Настройки принтера глянь, на всякий случай
   ColonelAp4u
 
3 - 22.09.17 - 12:02
Дело в том что места нет, но программа в этому случае сама должна была разбить как положено, там ведь идет сейчас новый метод проверки помещается ли таб док на страницу.
ПроверитьВывод() у Таб дока. И типа если все помещается то ок если нет то делает разрыв страницы.
   _Дайвер_
 
4 - 22.09.17 - 12:04
(3) Скинь скрин предварительного просмотра
   ColonelAp4u
 
5 - 22.09.17 - 12:05
пересмотрел все что можно, принтер, параметры страницы в предварительном просмотре. И самый главный прикол если открываешь док первый раз допустим в предварительном просмотре 5 листов, ставлю поля сверху такие же как и идут при создании этого таб дока в коде, = 12, то он выравнивает на 3 страницы, потом выхожу захожу заново с этими параметрами страницы и он снова показывает 5 страниц, и уже изменения параметров никак не влияют на это дело.
   ColonelAp4u
 
6 - 22.09.17 - 12:09
   Масянька
 
7 - 22.09.17 - 12:13
(6) А нет принудительного (программный код) деления на страницы? Очень похоже на это.
   ColonelAp4u
 
8 - 22.09.17 - 12:19
(7) УПП полностью типовая и страницы делятся вот таким кодом
        // Проверим возможность вывода табличного документа

        СтрокаСПодвалом = Новый Массив;
        СтрокаСПодвалом.Добавить(ОбластьМакета);
        Если НомерСтроки = КоличествоСтрок Тогда
            // Если последняя строка, то должен поместится итог и подвал

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

            РезультатПроверкиВывода = ФормированиеПечатныхФормСервер.ПроверитьВыводТабличногоДокумента(ТабДокумент, СтрокаСПодвалом);
        #ИначеЕсли ТолстыйКлиентОбычноеПриложение Тогда    

            РезультатПроверкиВывода = ФормированиеПечатныхФорм.ПроверитьВыводТабличногоДокумента(ТабДокумент, СтрокаСПодвалом);
        #КонецЕсли

                        
        Если НЕ РезультатПроверкиВывода Тогда
            
            Если КоличествоСтрок > 0 Тогда
                // Вывод разделителя и заголовка таблицы на новой странице

                ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
                ТабДокумент.Вывести(ОбластьМакетаЗаголовокТаблицы);
                КоличествоСтраниц = КоличествоСтраниц + 1;
            КонецЕсли;
            
        КонецЕсли;
   d4rkmesa
 
9 - 22.09.17 - 12:19
(0) Переносы строк и автовысота в подвалах макета. Длинные должности и ФИО, обычно там отключена автовысота, но конфигурасты зачастую тупо включают автовысоту, чтобы все помещалось. Если хотите оставить, тогда нужно немного переделать стандартный вывод и выполнять проверку переносов после заполнения всех областей. В общем, нужно немного покурить процедуру УчетНДС.ВывестиСчетФактуруВТабличныйДокумент и понимание придет, как переделать.
   Масянька
 
10 - 22.09.17 - 12:21
(8) ФормированиеПечатныхФормСервер.ПроверитьВыводТабличногоДокумента - тут что? В смысле код.
 
 Рекламное место пустует
   ColonelAp4u
 
11 - 22.09.17 - 12:26
(10)
Функция ПроверитьВыводТабличногоДокумента(ТабДокумент, ВыводимыеОбласти, РезультатПриОшибке = Истина) Экспорт

    Попытка
        Возврат ТабДокумент.ПроверитьВывод(ВыводимыеОбласти);
    Исключение
        Возврат РезультатПриОшибке;
    КонецПопытки;

КонецФункции// ПроверитьВыводТабличногоДокумента()
   ColonelAp4u
 
12 - 22.09.17 - 12:26
Возвращает ложь или истина
   ColonelAp4u
 
13 - 22.09.17 - 12:27
Если вернулась Ложь то делает разрыв  
Если НЕ РезультатПроверкиВывода Тогда
            
            Если КоличествоСтрок > 0 Тогда
                // Вывод разделителя и заголовка таблицы на новой странице


                ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
                ТабДокумент.Вывести(ОбластьМакетаЗаголовокТаблицы);
                КоличествоСтраниц = КоличествоСтраниц + 1;
            КонецЕсли;
            
        КонецЕсли;
   Масянька
 
14 - 22.09.17 - 12:37
(12) (13) Коню понятно :)
Я не знаю, как работает ПроверитьВывод. Но, судя по скринам, строка № 16 умещается в ПроверитьВывод на страницу, а реально нет.
Стоит глянуть (9).
   ColonelAp4u
 
15 - 22.09.17 - 12:40
(14) Совершенно верно, она вмещается в данном методе, а по факту нет.
   ColonelAp4u
 
16 - 22.09.17 - 12:42
Просто типовую не хочется трогать, а так да можно покурить этот код и сделать что бы выводилось нормально.
   Адинэснег
 
17 - 22.09.17 - 12:45
(0)увеличьте поля (по 20 например), пусть 1С думает, что вывод идет на лист поменьше, тогда ПроверитьВывод() сработает раньше
   Адинэснег
 
18 - 22.09.17 - 12:46
(17) в параметрах печати, конечно
   ColonelAp4u
 
19 - 22.09.17 - 12:49
(18) ваще бред разбивает на 6 страниц
   Адинэснег
 
20 - 22.09.17 - 12:49
я бы увеличил Слева/Справа
   Масянька
 
21 - 22.09.17 - 12:50
(15) Вот это и бесит в 1С: был бы код  - можно было бы разговаривать.
   Адинэснег
 
22 - 22.09.17 - 12:51
Сделай слева/справа по 20 или 30
Низ/Верх по 5
   Адинэснег
 
23 - 22.09.17 - 12:51
колонтитулы 0
   Адинэснег
 
24 - 22.09.17 - 12:51
Автомасштаб, или как там, по ширине
   ColonelAp4u
 
25 - 22.09.17 - 12:55
(22) (23) (24) вот так работает спасибо.
   Адинэснег
 
26 - 22.09.17 - 12:59
(25) я тоже долго смотрел на процедуру в УПП ... потом дошел, что этими настройками можно её победить
   ColonelAp4u
 
27 - 22.09.17 - 13:01
Блин не могу понять зачем вот так усложнять людям жизнь, всем спасибо? особое (26)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует