|
Не выводится на печать | ☑ | ||
---|---|---|---|---|
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). Посмотри значение константы ДополнительнаяКолонкаПечатныхФормДокументов.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |