Имя: Пароль:
1C
 
Не выводится на печать
0 Satiel
 
29.07.16
13:30
Новичок 1С, пожалуйста помогите разобраться. 1С ERP 2.0 В документе "Заказ на перемещение" при печати не выводится "Артикул".

Если ИмяМакета = "ЗаказНаПеремещение" Тогда
        
        Колонка = ФормированиеПечатныхФорм.ИмяДополнительнойКолонки();
        ВыводитьКоды = ЗначениеЗаполнено(Колонка);
    
        ИспользоватьУпаковкиНоменклатуры = ПолучитьФункциональнуюОпцию("ИспользоватьУпаковкиНоменклатуры");

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

        ОбластьДанныхСтрока = Макет.ПолучитьОбласть("Строка|Товар");
        ОбластьКонецСтрокиСтрока = Макет.ПолучитьОбласть("Строка|КонецСтроки");
    
        ОбластьНомераПодвал = Макет.ПолучитьОбласть("Подвал|НомерСтроки");
        ОбластьДанныхПодвал = Макет.ПолучитьОбласть("Подвал|Товар");
        ОбластьКонецСтрокиПодвал = Макет.ПолучитьОбласть("Подвал|КонецСтроки");
        
        ОбластьПодписей = Макет.ПолучитьОбласть("Подписи");
    
        ЗапросПоШапке = Новый Запрос;
        ЗапросПоШапке.Текст =
        "ВЫБРАТЬ
        |    ЗаказНаПеремещение.Ссылка КАК Ссылка,
        |    ЗаказНаПеремещение.Номер КАК Номер,
        |    ЗаказНаПеремещение.Дата КАК Дата,
        |    ЗаказНаПеремещение.Организация.Префикс КАК Префикс,
        |    ЗаказНаПеремещение.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
        |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ЗаказНаПеремещение.СкладОтправитель) КАК ОтправительПредставление,
        |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ЗаказНаПеремещение.СкладПолучатель) КАК ПолучательПредставление,
        |    ВЫБОР КОГДА ЗаказНаПеремещение.Организация.НаименованиеСокращенное = """" ТОГДА
        |        ЗаказНаПеремещение.Организация.Наименование
        |    ИНАЧЕ
        |        ЗаказНаПеремещение.Организация.НаименованиеСокращенное
        |    КОНЕЦ КАК ОрганизацияПредставление,
        |    ВЫБОР КОГДА ЗаказНаПеремещение.ОрганизацияПолучатель.НаименованиеСокращенное = """" ТОГДА
        |        ЗаказНаПеремещение.ОрганизацияПолучатель.Наименование
        |    ИНАЧЕ
        |        ЗаказНаПеремещение.ОрганизацияПолучатель.НаименованиеСокращенное
        |    КОНЕЦ КАК ОрганизацияПолучательПредставление,
        |    ЗаказНаПеремещение.Ответственный.ФизическоеЛицо.Наименование КАК Менеджер,
        |    ВЫБОР
        |        КОГДА ЗаказНаПеремещение.СкладОтправитель.ИспользоватьСерииНоменклатуры
        |                ИЛИ ЗаказНаПеремещение.СкладПолучатель.ИспользоватьСерииНоменклатуры
        |            ТОГДА ИСТИНА
        |        ИНАЧЕ ЛОЖЬ
        |    КОНЕЦ КАК ИспользоватьСерииНоменклатуры
        |ИЗ
        |    Документ.ЗаказНаПеремещение КАК ЗаказНаПеремещение
        |ГДЕ
        |    ЗаказНаПеремещение.Ссылка В(&МассивДокументов)
        |
        |УПОРЯДОЧИТЬ ПО
        |    Ссылка
        |ИТОГИ ПО
        |    ИспользоватьСерииНоменклатуры";
    
        ЗапросПоШапке.УстановитьПараметр("МассивДокументов", МассивОбъектов);
    
        ДеревоОбъектов = ЗапросПоШапке.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
    
        Для каждого ИспользованиеСерий из ДеревоОбъектов.Строки Цикл
                        
            Если ИспользованиеСерий.ИспользоватьСерииНоменклатуры Тогда
            
                ТекстЗапросаПоТоварам =
                "ВЫБРАТЬ
                |    ТаблицаТовары.Ссылка КАК Ссылка,
                |    ТаблицаТовары.Номенклатура КАК Товар,
                |    ТаблицаТовары.Номенклатура.НаименованиеПолное КАК ТоварНаименование,
                |    ТаблицаТовары.Номенклатура.Код КАК Код,
                |    ТаблицаТовары.Номенклатура.Артикул КАК Артикул,
                |    ТаблицаТовары.Характеристика.НаименованиеПолное КАК Характеристика,
                |    ТаблицаТовары.Серия КАК Серия,
                |    ВЫБОР
                |        КОГДА ТаблицаТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
                |            ТОГДА ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаТовары.Номенклатура.ЕдиницаИзмерения)
                |        ИНАЧЕ ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаТовары.Упаковка)
                |    КОНЕЦ КАК ПредставлениеЕдининицыИзмеренияУпаковки,
                |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаТовары.Номенклатура.ЕдиницаИзмерения) КАК ПредставлениеБазовойЕдиницыИзмерения,
                |    ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
                |    ТаблицаТовары.Количество КАК Количество
                |ИЗ
                |    Документ.ЗаказНаПеремещение.Товары КАК ТаблицаТовары
                |ГДЕ
                |    ТаблицаТовары.Ссылка В(&МассивОбъектов)
                |    И НЕ ТаблицаТовары.СтатусУказанияСерий В (2, 4, 6, 8, 10)
                |
                |ОБЪЕДИНИТЬ ВСЕ
                |
                |ВЫБРАТЬ
                |    ТаблицаСерии.Ссылка,
                |    ТаблицаСерии.Номенклатура,
                |    ТаблицаСерии.Номенклатура.НаименованиеПолное,
                |    ТаблицаСерии.Номенклатура.Код,
                |    ТаблицаСерии.Номенклатура.Артикул,
                |    ТаблицаСерии.Характеристика.НаименованиеПолное,
                |    ТаблицаСерии.Серия.Наименование,
                |    ТаблицаСерии.Номенклатура.ЕдиницаИзмерения,
                |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаСерии.Номенклатура.ЕдиницаИзмерения),
                |    ТаблицаСерии.Количество,
                |    ТаблицаСерии.Количество
                |ИЗ
                |    Документ.ЗаказНаПеремещение.Серии КАК ТаблицаСерии
                |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказНаПеремещение.Товары КАК ТаблицаТовары
                |        ПО ТаблицаСерии.Ссылка = ТаблицаТовары.Ссылка
                |            И ТаблицаСерии.Номенклатура = ТаблицаТовары.Номенклатура
                |            И ТаблицаСерии.Характеристика = ТаблицаТовары.Характеристика
                |ГДЕ
                |    ТаблицаСерии.Ссылка В(&МассивОбъектов)
                |
                |СГРУППИРОВАТЬ ПО
                |    ТаблицаСерии.Ссылка,
                |    ТаблицаСерии.Номенклатура,
                |    ТаблицаСерии.Характеристика,
                |    ТаблицаСерии.Серия,
                |    ТаблицаСерии.Количество,
                |    ТаблицаСерии.НомерСтроки
                |
                |ИМЕЮЩИЕ
                |    МАКСИМУМ(ТаблицаТовары.СтатусУказанияСерий) В (2, 4, 6, 8, 10)
                |
                |УПОРЯДОЧИТЬ ПО
                |    Ссылка,
                |    ТоварНаименование,
                |    Характеристика,
                |    Серия
                |ИТОГИ ПО
                |    Ссылка";
                
            Иначе
            
                ТекстЗапросаПоТоварам =
                "ВЫБРАТЬ
                |    ТаблицаТовары.Ссылка КАК Ссылка,
                |    ТаблицаТовары.Номенклатура КАК Товар,
                |    ТаблицаТовары.Номенклатура.НаименованиеПолное КАК ТоварНаименование,
                |    ТаблицаТовары.Номенклатура.Код КАК Код,
                |    ТаблицаТовары.Номенклатура.Артикул КАК Артикул,
                |    ТаблицаТовары.Характеристика.НаименованиеПолное КАК Характеристика,
                |    """" КАК Серия,
                |    ВЫБОР
                |        КОГДА ТаблицаТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
                |            ТОГДА ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаТовары.Номенклатура.ЕдиницаИзмерения)
                |        ИНАЧЕ ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаТовары.Упаковка)
                |    КОНЕЦ КАК ПредставлениеЕдининицыИзмеренияУпаковки,
                |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаТовары.Номенклатура.ЕдиницаИзмерения) КАК ПредставлениеБазовойЕдиницыИзмерения,
                |    ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
                |    ТаблицаТовары.Количество КАК Количество
                |ИЗ
                |    Документ.ЗаказНаПеремещение.Товары КАК ТаблицаТовары
                |ГДЕ
                |    ТаблицаТовары.Ссылка В(&МассивОбъектов)
                |    И НЕ ТаблицаТовары.Отменено
                |
                |УПОРЯДОЧИТЬ ПО
                |    Ссылка
                |ИТОГИ ПО
                |    Ссылка";
            
            КонецЕсли;
        
            ЗапросПоТоварам = Новый Запрос;
            ЗапросПоТоварам.Текст = ТекстЗапросаПоТоварам;
            ЗапросПоТоварам.УстановитьПараметр("МассивОбъектов", ИспользованиеСерий.Строки.ВыгрузитьКолонку("Ссылка"));
            ВыборкаПоТабличнымЧастям = ЗапросПоТоварам.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
        
            ПервыйДокумент = Истина;

            Для каждого Шапка из ИспользованиеСерий.Строки Цикл
            
                НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
            
                Если Не ПервыйДокумент Тогда
                
                    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
                
                КонецЕсли;
            
                ПервыйДокумент = Ложь;
            
                // Вывод шапки заказа
                Если Шапка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПеремещениеТоваров Тогда

                    ОбластьЗаголовка  = ОбластьЗаголовкаПеремещение;

                Иначе //Шапка.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ВнутренняяПередачаТоваров

                    ОбластьЗаголовка = ОбластьЗаголовкаВнутренняяПередача;

                КонецЕсли;

                НазваниеДокумента = НСтр("ru = 'Заказ на перемещение'");
                ОбластьЗаголовка.Параметры.ТекстЗаголовка = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(Шапка,
                    НазваниеДокумента);
                ОбластьЗаголовка.Параметры.Заполнить(Шапка);
                ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабДокумент, Макет, ОбластьЗаголовка, Шапка.Ссылка);
                ТабДокумент.Вывести(ОбластьЗаголовка);
                
                ТабДокумент.Вывести(ОбластьНомераШапка);
            
                Если ВыводитьКоды Тогда
                    
                    ТабДокумент.Присоединить(ОбластьКодовШапка);
                    
                КонецЕсли;
                
                ТабДокумент.Присоединить(ОбластьДанныхШапка);
                
                Если ИспользоватьУпаковкиНоменклатуры Тогда
                    
                    ТабДокумент.Присоединить(ОбластьУпаковокШапка);
                    
                КонецЕсли;
            
                ТабДокумент.Присоединить(ОбластьКонецСтрокиШапка);
                
                // Выборка товаров
                Если НЕ ВыборкаПоТабличнымЧастям.НайтиСледующий(Новый Структура("Ссылка", Шапка.Ссылка)) Тогда
                    
                    Продолжить;
                    
                КонецЕсли;
            
                ВыборкаСтрокТовары = ВыборкаПоТабличнымЧастям.Выбрать();
                
                НомерСтроки = 1;
            
                Пока ВыборкаСтрокТовары.Следующий() Цикл

                    ОбластьНомераСтрока.Параметры.НомерСтроки = НомерСтроки;
                    ТабДокумент.Вывести(ОбластьНомераСтрока);
                    
                    Если ВыводитьКоды Тогда
                        
                        ОбластьКодовСтрока.Параметры.Артикул = ВыборкаСтрокТовары[Колонка];
                        ТабДокумент.Присоединить(ОбластьКодовСтрока);

                        
                    КонецЕсли;
                    
                    ОбластьДанныхСтрока.Параметры.Заполнить(ВыборкаСтрокТовары);
                    ОбластьДанныхСтрока.Параметры.Товар = НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
                        СокрЛП(ВыборкаСтрокТовары.ТоварНаименование),
                        СокрЛП(ВыборкаСтрокТовары.Характеристика),
                        , // Упаковка
                        СокрЛП(ВыборкаСтрокТовары.Серия));
                    
                    ТабДокумент.Присоединить(ОбластьДанныхСтрока);
                    
                    Если ИспользоватьУпаковкиНоменклатуры Тогда
                        
                        ОбластьУпаковокСтрока.Параметры.Заполнить(ВыборкаСтрокТовары);
                        ТабДокумент.Присоединить(ОбластьУпаковокСтрока);
                        
                    КонецЕсли;
                    
                    ОбластьКонецСтрокиСтрока.Параметры.Заполнить(ВыборкаСтрокТовары);
                    ТабДокумент.Присоединить(ОбластьКонецСтрокиСтрока);
                    
                    НомерСтроки = НомерСтроки + 1;
                    
                КонецЦикла;
            
                ТабДокумент.Вывести(ОбластьНомераПодвал);
                
                Если ВыводитьКоды Тогда
                    
                    ТабДокумент.Присоединить(ОбластьКодовПодвал);
                    
                КонецЕсли;
            
                ТабДокумент.Присоединить(ОбластьДанныхПодвал);
                
                Если ИспользоватьУпаковкиНоменклатуры Тогда
                    
                    ТабДокумент.Присоединить(ОбластьУпаковокПодвал);
                    
                КонецЕсли;
            
                ТабДокумент.Присоединить(ОбластьКонецСтрокиПодвал);
                
                // Вывод подписи.
                ОбластьПодписи = Макет.ПолучитьОбласть("Подписи");
                ОбластьПодписи.Параметры.ФИОМенеджер = ФизическиеЛицаУТ.ФамилияИнициалыФизЛица(Шапка.Менеджер);
                ТабДокумент.Вывести(ОбластьПодписи);
                
                УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка);
                
            КонецЦикла;
        
        КонецЦикла;
1 Горогуля
 
29.07.16
13:33
а есть какие-то шансы избежать чтения этой стены текста?
2 Nuobu
 
29.07.16
13:33
В настройках не указано, что нужно выводить артикул.

Колонка = ФормированиеПечатныхФорм.ИмяДополнительнойКолонки();
        ВыводитьКоды = ЗначениеЗаполнено(Колонка);

после этого добавь строку:
Колонка = "Артикул";
3 Zmich
 
29.07.16
13:38
(0). Посмотри значение константы ДополнительнаяКолонкаПечатныхФормДокументов.