"<br>Функция Печать() Экспорт<br> ПараметрыПечати = Новый Структура;<br> <br> ТабДокумент = Новый ТабличныйДокумент;<br> Макет = ПолучитьМакет("ПеремещениеСимКарт");<br> Запрос = Новый Запрос;<br> Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);<br><br> Запрос.Текст =<br> "ВЫБРАТЬ<br> | ПеремещениеТоваров.Номер,<br> | ПеремещениеТоваров.Дата,<br> | ПеремещениеТоваров.Организация,<br> | ПеремещениеТоваров.СкладОтправитель,<br> | ПеремещениеТоваров.СкладОтправитель.Представление КАК Поставщик,<br> | ПеремещениеТоваров.СкладПолучатель,<br> | ПеремещениеТоваров.СкладПолучатель.Представление КАК Покупатель,<br> | ПеремещениеТоваров.Товары.(<br> | Номенклатура,<br> | Номенклатура.НаименованиеПолное КАК Товар,<br> | Номенклатура.Код КАК Код,<br> | Номенклатура.Артикул КАК Артикул,<br> | Количество,<br> | ЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения<br> | )<br> |ИЗ<br> | Документ.ПеремещениеТоваров КАК ПеремещениеТоваров<br> |ГДЕ<br> | ПеремещениеТоваров.Ссылка = &ТекущийДокумент<br> |<br> |УПОРЯДОЧИТЬ ПО<br> | ПеремещениеТоваров.Товары.НомерСтроки";<br><br> Шапка = Запрос.Выполнить().Выбрать();<br> Шапка.Следующий();<br> ВыборкаСтрокТовары = Шапка.Товары.Выбрать();<br> <br><br> // Выводим шапку накладной<br> ПараметрыПечати.Вставить("ТекстЗаголовка", ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Приложение.Передача абонентских номеров и SIM замена"));<br><br> ПараметрыПечати.Вставить("ПредставлениеПоставщика", Шапка.Поставщик);<br> ПараметрыПечати.Вставить("Поставщик", Шапка.СкладОтправитель);<br><br> ПараметрыПечати.Вставить("ПредставлениеПолучателя", Шапка.Покупатель);<br> ПараметрыПечати.Вставить("Получатель", Шапка.СкладПолучатель);<br> <br> ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");<br> ОбластьМакета.Параметры.Заполнить(ПараметрыПечати);<br> ТабДокумент.Вывести(ОбластьМакета);<br><br> ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");<br> ОбластьМакета.Параметры.Заполнить(ПараметрыПечати);<br> ТабДокумент.Вывести(ОбластьМакета);<br><br> ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");<br> ОбластьМакета.Параметры.Заполнить(ПараметрыПечати);<br> ТабДокумент.Вывести(ОбластьМакета);<br><br> <br><br> // Вывести табличную часть<br> ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();<br> ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул;<br> ПараметрыПечати.Вставить("ВыводитьКоды", Истина);<br> ПараметрыПечати.Вставить("ИмяКолонкиКодов", "Артикул");<br> <br> // Выборка товаров<br> Пока ВыборкаСтрокТовары.Следующий() Цикл<br> <br> ПараметрыПозиции = Новый Структура;<br> ПараметрыПозиции.Вставить("Номенклатура", ВыборкаСтрокТовары.Номенклатура); <br> <br> Ном = Ном + 1;<br><br> ПараметрыПозиции.Вставить("НомерСтроки", Ном);<br><br> Если ПараметрыПечати.ВыводитьКоды Тогда<br> Если ПараметрыПечати.ИмяКолонкиКодов = "Артикул" Тогда<br> ПараметрыПозиции.Вставить("Артикул", ВыборкаСтрокТовары.Артикул);<br> Иначе<br> ПараметрыПозиции.Вставить("Артикул", ВыборкаСтрокТовары.Код);<br> КонецЕсли;<br> КонецЕсли;<br><br> ПараметрыПозиции.Вставить("Товар", ВыборкаСтрокТовары.Товар + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары));<br><br> ПараметрыПозиции.Вставить("Количество", ВыборкаСтрокТовары.Количество);<br> ПараметрыПозиции.Вставить("ЕдиницаИзмерения", ВыборкаСтрокТовары.ЕдиницаИзмерения);<br> <br><br> КонецЦикла;<br><br><br> // Вывести табличную часть<br><br> ПараметрыПечати.Вставить("ШапкаТаблицы");<br> ПараметрыПечати.Вставить("ШапкаСтрока");<br> <br><br> ОбластьНомера = Макет.ПолучитьОбласть("ШапкаСтрока" + "|НомерСтроки");<br> ОбластьКодов = Макет.ПолучитьОбласть("ШапкаСтрока" + "|КолонкаКодов");<br> ОбластьТовар = Макет.ПолучитьОбласть("ШапкаСтрока" + "|Товар");<br> ОбластьДанных = Макет.ПолучитьОбласть("ШапкаСтрока" + "|Данные");<br><br> ТабДокумент.Вывести(ОбластьНомера);<br> Если ПараметрыПечати.ВыводитьКоды Тогда<br> ОбластьКодов.Параметры.ИмяКолонкиКодов = ПараметрыПечати.ИмяКолонкиКодов;<br> ТабДокумент.Присоединить(ОбластьКодов);<br> КонецЕсли;<br> ТабДокумент.Присоединить(ОбластьТовар);<br> ОбластьКолонкаТовар = Макет.Область("Товар");<br> Если ПараметрыПечати.ВыводитьКоды Тогда<br> ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки<br> + ?(ПараметрыПечати.ФлагПечатиМест, 0, Макет.Область("R14C5").ШиринаКолонки + Макет.Область("R14C6").ШиринаКолонки);<br> Иначе<br> ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки<br> + Макет.Область("КолонкаКодов").ШиринаКолонки<br> + ?(ПараметрыПечати.ФлагПечатиМест, 0, Макет.Область("R14C5").ШиринаКолонки + Макет.Область("R14C6").ШиринаКолонки);<br> КонецЕсли;<br> <br> // Выборка товаров<br> Для каждого ПараметрыПозиции Из ПараметрыПечати.Позиции Цикл<br><br> Если НЕ ЗначениеЗаполнено(ПараметрыПозиции.Номенклатура) Тогда<br> Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);<br> Продолжить;<br> КонецЕсли;<br><br> ОбластьНомера.Параметры.Заполнить(ПараметрыПозиции);<br> ТабДокумент.Вывести(ОбластьНомера);<br><br> Если ПараметрыПечати.ВыводитьКоды Тогда<br> ОбластьКодов.Параметры.Заполнить(ПараметрыПозиции);<br> ТабДокумент.Присоединить(ОбластьКодов);<br> КонецЕсли;<br><br> ОбластьТовар.Параметры.Заполнить(ПараметрыПозиции);<br> ТабДокумент.Присоединить(ОбластьТовар);<br><br> КонецЦикла;<br><br> ОбластьДанных.Параметры.Заполнить(ПараметрыПозиции);<br> ТабДокумент.Присоединить(ОбластьДанных);<br><br> КонецФункции;<br> <br> "