Имя: Пароль:
1C
1С v8
Лишняя строка при заполнении макета
,
0 VenedPS
 
09.07.14
17:29
Укажите пожалуйста на ошибки.
1. Заполняю данными макет, но последнюю строку дублирует. Вот код полностью:

&НаКлиенте
Процедура Печать(Команда)
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.РазмерСтраницы = "A5";
    ТабДок.АвтоМасштаб = Истина;
    НомерДок = Объект.Номер;
    СформироватьПечать(ТабДок, НомерДок);
    //ТабДок.КоличествоЭкземпляров = 2;
    ТабДок.ЭкземпляровНаСтранице = 2;
    ТабДок.Показать ();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СформироватьПечать(ТабДок, НомерДок)
    
    Макет = Документы.ПечатьКартБрака.ПолучитьМакет("Печать");
    ОблЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ТабДокШапка = Макет.ПолучитьОбласть("ТабДокШапка");
    ТабДокМ = Макет.ПолучитьОбласть("ТабДокМ");
    Подвал = Макет.ПолучитьОбласть("Подвал");
           
    Запрос = Новый Запрос;
    Запрос.Текст =
                            
            "ВЫБРАТЬ
            |    ПечатьКартБракаСписок.Ссылка.Номер,
            |    ПечатьКартБракаСписок.Артикль,
            |    ПечатьКартБракаСписок.Количество,
            |    ПечатьКартБракаСписок.Название
            |ИЗ
            |    Документ.ПечатьКартБрака.Список КАК ПечатьКартБракаСписок
            |ГДЕ
            |    ПечатьКартБракаСписок.Ссылка.Номер = &НомерДок";    
    Запрос.УстановитьПараметр("НомерДок", НомерДок);    
        
    Результат1 = Запрос.Выполнить();
    Выборка1 = Результат1.Выбрать();

    Пока Выборка1.Следующий() Цикл
            Количество = Выборка1.Количество;
            КолПеч = 0;
            Пока Количество > КолПеч Цикл
                
                    ТабДок.Вывести(ОблЗаголовок);
                    Шапка.Параметры.Артикль = Выборка1.Артикль;
                    Шапка.Параметры.Название = Выборка1.Название;
                    Артикль = Выборка1.Артикль;
                    ТабДок.Вывести(Шапка);
                    ТабДок.Вывести(ТабДокШапка);
                    
                    Запрос = Новый Запрос;
                    Запрос.Текст =
                                        
                    "ВЫБРАТЬ
                    |    ГотоваяПродукцияТабДок.Ссылка.Наименование,
                    |    ГотоваяПродукцияТабДок.НомерСтроки,
                    |    ГотоваяПродукцияТабДок.НазваниеКомпонента,
                    |    ГотоваяПродукцияТабДок.КодКомпонента,
                    |    ГотоваяПродукцияТабДок.БазисКолич,
                    |    ГотоваяПродукцияТабДок.Инд
                    |ИЗ
                    |    Справочник.ГотоваяПродукция.ТабДок КАК ГотоваяПродукцияТабДок
                    |ГДЕ
                    |    ГотоваяПродукцияТабДок.Ссылка.Наименование = &Артикль";
                    
                    
                    Запрос.УстановитьПараметр("Артикль", Артикль);
                    
                    Результат = Запрос.Выполнить();
                    Выборка = Результат.Выбрать();
                    Пока Выборка.Следующий() Цикл
                        ТабДокМ.Параметры.Заполнить(Выборка);
                        ТабДок.Вывести(ТабДокМ, Выборка.Уровень());
                    КонецЦикла;
                    ТабДок.Вывести(ТабДокМ);
                    ТабДок.Вывести(Подвал);
            КолПеч = КолПеч+1;        
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
            КонецЦикла;
          
    КонецЦикла;
            
КонецПроцедуры



Насколько я понимаю проблема возникает вот здесь:

Пока Выборка.Следующий() Цикл
                        ТабДокМ.Параметры.Заполнить(Выборка);
                        ТабДок.Вывести(ТабДокМ, Выборка.Уровень());
                    КонецЦикла;
                    ТабДок.Вывести(ТабДокМ);


Заранее благодарю за помощь.
1 VenedPS
 
09.07.14
17:30
Точнее проблема вот тут:


Запрос = Новый Запрос;
                    Запрос.Текст =
                                        
                    "ВЫБРАТЬ
                    |    ГотоваяПродукцияТабДок.Ссылка.Наименование,
                    |    ГотоваяПродукцияТабДок.НомерСтроки,
                    |    ГотоваяПродукцияТабДок.НазваниеКомпонента,
                    |    ГотоваяПродукцияТабДок.КодКомпонента,
                    |    ГотоваяПродукцияТабДок.БазисКолич,
                    |    ГотоваяПродукцияТабДок.Инд
                    |ИЗ
                    |    Справочник.ГотоваяПродукция.ТабДок КАК ГотоваяПродукцияТабДок
                    |ГДЕ
                    |    ГотоваяПродукцияТабДок.Ссылка.Наименование = &Артикль";
                    
                    
                    Запрос.УстановитьПараметр("Артикль", Артикль);
                    
                    Результат = Запрос.Выполнить();
                    Выборка = Результат.Выбрать();
                    Пока Выборка.Следующий() Цикл
                        ТабДокМ.Параметры.Заполнить(Выборка);
                        ТабДок.Вывести(ТабДокМ, Выборка.Уровень());
                    КонецЦикла;
                    ТабДок.Вывести(ТабДокМ);
2 Maxus43
 
09.07.14
17:30
(0) бросай это дело, переходи на САП
http://antikor.com.ua/articles/8892-1c__buhgalterija_ili_shpion_gosudarstvennogo_masshtaba
3 Wobland
 
09.07.14
17:31
рекомендую задуматься над крайними словами в прошлой ветке
4 GreatOne
 
09.07.14
17:37
&Артикль

ну смешно же)
5 Wobland
 
09.07.14
17:38
(4) думал, у него это артикул? неет, он БД служебные части речи хранит
6 Лефмихалыч
 
09.07.14
17:39
+(2) +1
СРОЧНО причем
7 Segate
 
09.07.14
17:45
да ладно, че вы глумитесь над человеком. новичек ведь.


Последнюю строчку убери, и все ок будет. а кроме того, можешь уровеньь выборки убрать
8 Wobland
 
09.07.14
17:46
(7) новичекам можно не думать над своими поделками?
9 VenedPS
 
09.07.14
17:48
Заменил везде Артикль на Арт... теперь пойдет?
Насчет глумления - глумитесь на здоровье, только по возможности как можно более информативно :)
10 Segate
 
09.07.14
17:48
(8) ну он не шарит, что он сначала выводит стрики в цикле, а потом еще одну, уже вне цикла. Может впарился и забыл убрать просто... мало ли
11 Крошка Ру
 
09.07.14
17:49
Отладчик уже предлагали?
12 Wobland
 
09.07.14
17:50
(9) и в конфигурации заменил?
13 Wobland
 
09.07.14
17:50
(11) отладчик бережём, самим нужен
14 VenedPS
 
09.07.14
17:51
Спасибо большое. Увидел ошибку. Я же в цикле вывожу, на кой ляд мне после цикла нужно было вновь выводить сам не знаю)
15 Крошка Ру
 
09.07.14
17:52
(13) Ну по сходной цене, думаю, можно и продать, раз человек в беду попал
16 samozvanec
 
09.07.14
17:52
(10) вот ты просто представь, как придешь в один день на новую работу и увидишь знакомые строчки)
17 VenedPS
 
09.07.14
17:53
(10) Спасибо, именно оно. Поздно правда увидел комментарий - самому дошло