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

Некорректный вывод лишних строк в макете

Некорректный вывод лишних строк в макете
Я
   NIGHTHUNTER
 
23.10.20 - 06:01
Формирую на вывод макет из документа. Вывожу секциями в заданном виде. Все отрабатывало. На на одних данных получился искаженный вывод.

http://joxi.ru/12MyVQlikMMkG2

Не пойму каким образом, вышли вот эти лишние, искаженные строки? Пытаюсь разобраться. Заранее спасибо.


    Для каждого СтрТз Из ДокументОбъект.Составляющие Цикл
        //
        
        //
        Если Не ЗначениеЗаполнено(СтрТз.ВалютаВТч) Тогда
            Если ЗначениеЗаполнено(ДокументОбъект.ВалютаКП) Тогда
                ТекВалютаСтроки = ДокументОбъект.ВалютаКП.СимволВалюты;
            КонецЕсли;
        Иначе
            ТекВалютаСтроки = СтрТз.ВалютаВТч.СимволВалюты;
        КонецЕсли;
        //
        ОбластьСтрока.Параметры.НомПП                             = НомПП;
        //
        ОбластьСтрока.Параметры.НаименованиеОсновное             = СтрТз.Наименование;    
        //
        ОбластьСтрока.Параметры.РасшифровкаНаименованиеОсновное = СтрТз.Наименование;    
        //
        ОбластьСтрока.Параметры.Наименование                    = СтрТз.Наименование;    
        //
        ОбластьСтрока.Параметры.РасшифровкаНаименование         = СтрТз.Наименование;    
        //
        Если ЗначениеЗаполнено(СтрТз.Производитель) Тогда
            ОбластьСтрока.Параметры.Производитель                 = СтрТз.Производитель;
        Иначе
            ОбластьСтрока.Параметры.Производитель                 = "-";
        КонецЕсли;
        //
        Если ЗначениеЗаполнено(СтрТз.Производительность) Тогда
            ОбластьСтрока.Параметры.Производительность           = СтрТз.Производительность;
        Иначе
            ОбластьСтрока.Параметры.Производительность           = "-";
        КонецЕсли;
        //
        Если ЗначениеЗаполнено(СтрТз.ЦенаВВалюте) Тогда
            ОбластьСтрока.Параметры.ЦенаВВалюте                     = ФОРМАТ(СтрТз.ЦенаВВалюте, "ЧЦ=15; ЧДЦ=2") + " " + ТекВалютаСтроки;
        Иначе
            ОбластьСтрока.Параметры.ЦенаВВалюте                     = "-";
        КонецЕсли;
        //
        Если ЗначениеЗаполнено(СтрТз.ЦенаВВалюте) Тогда
            ОбластьСтрока.Параметры.ЦенаВВалютеОбщ = ФОРМАТ(СтрТз.ЦенаВВалютеОбщей, "ЧЦ=15; ЧДЦ=2") + " " + ДокументОбъект.ВалютаКП.СимвольныйКод;
        Иначе
            ОбластьСтрока.Параметры.ЦенаВВалютеОбщ = "-";
        КонецЕсли;
        //
        Если ЗначениеЗаполнено(СтрТз.Цена) Тогда
            ОбластьСтрока.Параметры.Цена                         = ФОРМАТ(СтрТз.Цена, "ЧЦ=15; ЧДЦ=2") + " ₽";
        Иначе
            ОбластьСтрока.Параметры.Цена                         = "-";
        КонецЕсли;
        //
        Если ЗначениеЗаполнено(СтрТз.Скидка) Тогда
            ОбластьСтрока.Параметры.ПроцентСкидки               = Строка(СтрТз.Скидка) + " %";
        Иначе
            ОбластьСтрока.Параметры.ПроцентСкидки               = "-";
        КонецЕсли;
        //
        Если ЗначениеЗаполнено(СтрТз.Количество) Тогда
            ОбластьСтрока.Параметры.Количество                     = СтрТз.Количество;
        Иначе
            ОбластьСтрока.Параметры.Количество                     = "-";
        КонецЕсли;
        //
        Если ЗначениеЗаполнено(СтрТз.Сумма) Тогда  
            ОбластьСтрока.Параметры.Сумма                         = ФОРМАТ(СтрТз.Сумма,        "ЧЦ=15; ЧДЦ=2") + " ₽";
        Иначе
            ОбластьСтрока.Параметры.Сумма                         = "-";
        КонецЕсли;
        //
        Если ЗначениеЗаполнено(СтрТз.СуммаВВалюте) Тогда
            ОбластьСтрока.Параметры.СуммаВал                     = ФОРМАТ(СтрТз.СуммаВВалюте, "ЧЦ=15; ЧДЦ=2") + " " + ТекВалютаСтроки;
        Иначе
            ОбластьСтрока.Параметры.СуммаВал                     = "-";
        КонецЕсли;
        Если ЗначениеЗаполнено(СтрТз.СуммаВВалютеОбщая) Тогда
            ОбластьСтрока.Параметры.СуммаВалОбщ                 = ФОРМАТ(СтрТз.СуммаВВалютеОбщая, "ЧЦ=15; ЧДЦ=2") + " " + ДокументОбъект.ВалютаКП.СимволВалюты;
        Иначе
            ОбластьСтрока.Параметры.СуммаВалОбщ                 = "-";
        КонецЕсли;
        //
        //ОбластьСтрока.Параметры.Итого                             = СтрТз.Итого; // 2020_09_15
        //
        ИтогСумма                                                 = ИтогСумма    + СтрТз.Сумма;
        ИтогСуммаВал                                            = ИтогСуммаВал + СтрТз.СуммаВВалюте;
        ИтогСуммаВалОбщ                                            = ИтогСуммаВал + СтрТз.СуммаВВалютеОбщая;
        //
        ПолныйИтог_1                                             = ПолныйИтог_1 + СтрТз.Сумма;
        ПолныйИтог_2                                             = ПолныйИтог_2 + СтрТз.СуммаВВалюте;
        ПолныйИтог_3                                             = ПолныйИтог_3 + СтрТз.СуммаВВалютеОбщая;
        //
        Если СтрТз.Наименование.Основное Тогда
            ОдноОсновное = ОдноОсновное + 1;
        КонецЕсли;
        //
        Если СтрТз.Наименование.Основное и ТекНаименованиеОсновное = "" Тогда
            ТекНаименованиеОсновное = СтрТз.Наименование;
            //
            ТабДок.Вывести(ОбластьСтрока);
            //
        ИначеЕсли СтрТз.Наименование.Основное и СтрТз.Наименование <> ТекНаименованиеОсновное Тогда
            //
            ИтогСумма                                  = ИтогСумма    - СтрТз.Сумма;
            ПолныйИтог_1                               = ПолныйИтог_1 + СтрТз.Сумма;
            //
            ИтогСуммаВал                              = ИтогСуммаВал - СтрТз.СуммаВВалюте;
            ПолныйИтог_2                               = ПолныйИтог_2 + СтрТз.СуммаВВалюте;
            //
            ИтогСуммаВалОбщ                              = ИтогСуммаВал - СтрТз.СуммаВВалютеОбщая;
            ПолныйИтог_3                               = ПолныйИтог_3 + СтрТз.СуммаВВалютеОбщая;
            //
            Если Не ИтогСумма = 0 Тогда
                ОбластьИтогПоОД.Параметры.ИтогСумма       = ФОРМАТ(ИтогСумма,    "ЧЦ=15; ЧДЦ=2") + " ₽";
            Иначе
                ОбластьИтогПоОД.Параметры.ИтогСумма       = "-";
            КонецЕсли;
            //
            Если Не ИтогСуммаВал = 0 Тогда
                ОбластьИтогПоОД.Параметры.ИтогСуммаВал    = ФОРМАТ(ИтогСуммаВал, "ЧЦ=15; ЧДЦ=2") + " " + ТекВалютаСтроки;
            Иначе
                ОбластьИтогПоОД.Параметры.ИтогСуммаВал    = "-";
            КонецЕсли;
            //
            Если Не ИтогСуммаВалОбщ = 0 Тогда
                ОбластьИтогПоОД.Параметры.ИтогСуммаВалОбщ = ФОРМАТ(ИтогСуммаВалОбщ, "ЧЦ=15; ЧДЦ=2") + " " + ДокументОбъект.ВалютаКП.СимволВалюты;
            Иначе
                ОбластьИтогПоОД.Параметры.ИтогСуммаВалОбщ = "-";
            КонецЕсли;
            //
            ТабДок.Вывести(ОбластьИтогПоОД);
            //
            ИтогСумма       = 0;
            ИтогСуммаВал    = 0;
            ИтогСуммаВалОбщ = 0;
            //
            ОбластьНомера = ТабДок.Область(ТекВысота, 1, ТабДок.ВысотаТаблицы, 1);
            ОбластьНомера.Объединить();
            //
            ОбластьОсновнойДетали = ТабДок.Область(ТекВысота, 2, ТабДок.ВысотаТаблицы, 2);
            ОбластьОсновнойДетали.Объединить();
            //
            НомПП                                     = НомПП + 1;
            // тут мы переписываем вывод канители, которая облетела позади
            //
            ОбластьСтрока.Параметры.НомПП             = НомПП;
            //
            Если ЗначениеЗаполнено(СтрТз.Сумма) Тогда
                ОбластьСтрока.Параметры.Сумма         = ФОРМАТ(СтрТз.Сумма,        "ЧЦ=15; ЧДЦ=2") + " ₽";
            Иначе
                ОбластьСтрока.Параметры.Сумма         = "-";
            КонецЕсли;
            //
            Если ЗначениеЗаполнено(СтрТз.СуммаВВалюте) Тогда
                ОбластьСтрока.Параметры.СуммаВал      = ФОРМАТ(СтрТз.СуммаВВалюте, "ЧЦ=15; ЧДЦ=2") + " " + ТекВалютаСтроки;
            Иначе
                ОбластьСтрока.Параметры.СуммаВал      = "-";
            КонецЕсли;
            //
            Если ЗначениеЗаполнено(СтрТз.СуммаВВалютеОбщая) Тогда
                ОбластьСтрока.Параметры.СуммаВалОбщ   = ФОРМАТ(СтрТз.СуммаВВалютеОбщая, "ЧЦ=15; ЧДЦ=2") + " " + ДокументОбъект.ВалютаКП.СимволВалюты;
            Иначе
                ОбластьСтрока.Параметры.СуммаВалОбщ   = "-";    
            КонецЕсли;
            //
            ИтогСумма                                 = ИтогСумма    + СтрТз.Сумма;
            //
            ИтогСуммаВал                              = ИтогСуммаВал + СтрТз.СуммаВВалюте;
            //
            ИтогСуммаВалОбщ                              = ИтогСуммаВал + СтрТз.СуммаВВалютеОбщая;
            //
            ТабДок.Вывести(ОбластьСтрока);
            ТекНаименованиеОсновное                   = СтрТз.Наименование;
            ТекВысота                                 = ТабДок.ВысотаТаблицы;
            //
        Иначе
            //
            ТабДок.Вывести(ОбластьСтрока);
            //
        КонецЕсли;
    КонецЦикла;
    //
   NIGHTHUNTER
 
1 - 23.10.20 - 06:03
что где, я не так сделал ?

http://joxi.ru/v29b7JoCp33pJA
   NIGHTHUNTER
 
2 - 23.10.20 - 08:09
разобрался,
   ДенисЧ
 
3 - 23.10.20 - 08:12
"что где, я не так сделал ?"
Профессию неправильно выбрал

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