1С:Предприятие 8.3 (8.3.6.2237)
1С:ERP Управление предприятием 2.0 (2.0.9.66)
Ситуация такая что мне нужно что бы печаталось не один документ а несколько выделенных документов а именно маршрутный листов, кто что скажет, подскажет?
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.
ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"МаршрутныйНовый",
"Маршрутный новый",
СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));
КонецПроцедуры // Печать()
logist @ Вчера, 18:09
,
Суть такая вроде то, но ошибка вот код:
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "МаршрутныйНовый") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"МаршрутныйНовый",
"Маршрутный новый",
СформироватьПечатнуюФорму (МассивОбъектов, ОбъектыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода));
КонецЕсли;
КонецПроцедуры // Печать()
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Для Каждого ОбъектПечати Из МассивОбъектов Цикл
УправлениеПечатью.
ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"МаршрутныйНовый",
"Маршрутный новый",
СформироватьПечатнуюФорму(ОбъектПечати, ОбъектыПечати));
КонецЦикла;
КонецПроцедуры // Печать()
logist @ Сегодня, 11:30
,
Да это правильный код я знаю, но суть такова что нужно что бы на печать выводилось несколько печатных форм по выбору, допустим выбирает нач производства 3 маршрутных листа, и их конкретно хочет распечатать, но при этом коде печатает только один маршрутный лист.
! | http://pro1c.org.ua/index.php?act=announce&id=2: 8 |
XacTLa @ 14.09.17, 9:24
,
Может тут ошибка я уже все перешерстил как мне сделать массовое распечатывание документа одного
Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
МакетОбработки = ПолучитьМакет("МакетМаршрутныйЛист");
ОбластьШапки = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапки.Параметры.НомерДокумента = СсылкаНаОбъект.Номер;
ОбластьШапки.Параметры.ДатаДокумента = Формат(СсылкаНаОбъект.Дата, "ДФ=dd.MM.yyyy; ДЛФ=DT" );
ОбластьШапки.Параметры.ПодразделениеПредставление = СсылкаНаОбъект.Подразделение;
ОбластьШапки.Параметры.ИзделиеПредставление = СсылкаНаОбъект.Номенклатура;
ОбластьШапки.Параметры.СпецификацияПредставление = СсылкаНаОбъект.Спецификация;
ОбластьШапки.Параметры.РаспоряжениеПредставление = СсылкаНаОбъект.Распоряжение;
ОбластьШапки.Параметры.Назначение = СсылкаНаОбъект.Назначение;
ТабличныйДокумент.Вывести(ОбластьШапки);
ОбластьСтроки = МакетОбработки.ПолучитьОбласть("СтрокаТЧ");
Для Каждого ТекущаяСтрока Из СсылкаНаОбъект.РаспоряжениеСпецификация Цикл
ОбластьСтроки.Параметры.НоменклатураПредставление = ТекущаяСтрока.Номенклатура;
ОбластьСтроки.Параметры.Норматив = ТекущаяСтрока.Количество;
ТабличныйДокумент.Вывести(ОбластьСтроки);
КонецЦикла;
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Для Каждого ОбъектПечати Из МассивОбъектов Цикл
УправлениеПечатью.
ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"МаршрутныйНовый",
"Маршрутный новый",
СформироватьПечатнуюФорму(ОбъектПечати, ОбъектыПечати));
КонецЦикла;
КонецПроцедуры // Печать()
Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
МакетОбработки = ПолучитьМакет("МакетМаршрутныйЛист");
ОбластьШапки = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапки.Параметры.НомерДокумента = СсылкаНаОбъект.Номер;
ОбластьШапки.Параметры.ДатаДокумента = Формат(СсылкаНаОбъект.Дата, "ДФ=dd.MM.yyyy; ДЛФ=DT" );
ОбластьШапки.Параметры.ПодразделениеПредставление = СсылкаНаОбъект.Подразделение;
ОбластьШапки.Параметры.ИзделиеПредставление = СсылкаНаОбъект.Номенклатура;
ОбластьШапки.Параметры.СпецификацияПредставление = СсылкаНаОбъект.Спецификация;
ОбластьШапки.Параметры.РаспоряжениеПредставление = СсылкаНаОбъект.Распоряжение;
ОбластьШапки.Параметры.Назначение = СсылкаНаОбъект.Назначение;
ТабличныйДокумент.Вывести(ОбластьШапки);
ОбластьСтроки = МакетОбработки.ПолучитьОбласть("СтрокаТЧ");
Для Каждого ТекущаяСтрока Из СсылкаНаОбъект.РаспоряжениеСпецификация Цикл
ОбластьСтроки.Параметры.НоменклатураПредставление = ТекущаяСтрока.Номенклатура;
ОбластьСтроки.Параметры.Норматив = ТекущаяСтрока.Количество;
ТабличныйДокумент.Вывести(ОбластьСтроки);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции // СформироватьПечатнуюФорму()
XacTLa @ 18.09.17, 9:28
,
Я так и не могу разобраться что мне дописать, в коллекцию печать не выводит хоть убей, уже всю голову поломал, может где то я что то упустил.
Я сразу скажу что я не гуру в этом деле, я только начинаю, очень хочется разобраться а намека даже нет
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Для Каждого ОбъектПечати Из МассивОбъектов Цикл
УправлениеПечатью.
ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"МаршрутныйНовый",
"Маршрутный новый",
СформироватьПечатнуюФорму(ОбъектПечати, ОбъектыПечати));
КонецЦикла;
КонецПроцедуры // Печать()
Что у вас содержится в МассивОбъектов когда ві ждете несколько документов?
XacTLa, вы знаете что такое отладчик? Если знаете - ответьте на вопрос выше, если нет - восполните знания. и ответьте на вопросы выше
Функция ПечатнаяФормаМаршрутногоЛиста(МассивОбъектов, ОбъектыПечати, ПараметрыПечати)
УстановитьПривилегированныйРежим(Истина);
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.МаршрутныйНовый.МаршрутныйЛист");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Реквизиты.Ссылка,
| Реквизиты.Номер,
| Реквизиты.Дата,
| Реквизиты.Распоряжение,
| Реквизиты.Распоряжение.Номер КАК РаспоряжениеНомер,
| Реквизиты.Распоряжение.Дата КАК РаспоряжениеДата,
| Реквизиты.КодСтроки КАК КодСтроки,
| Реквизиты.Спецификация.МногоэтапныйПроизводственныйПроцесс КАК МногоэтапныйПроизводственныйПроцесс,
| Реквизиты.Спецификация КАК Спецификация,
| Реквизиты.Спецификация.Представление КАК СпецификацияПредставление,
| Реквизиты.Этап КАК Этап,
| Реквизиты.Этап.Представление КАК ЭтапПредставление,
| Реквизиты.Подразделение КАК Подразделение,
| Реквизиты.Подразделение.Представление КАК ПодразделениеПредставление,
| Реквизиты.Подразделение.Код КАК КодПодразделения,
| Реквизиты.Номенклатура КАК Номенклатура,
| Реквизиты.Номенклатура.Представление КАК НоменклатураПредставление,
| Реквизиты.Характеристика КАК Характеристика,
| Реквизиты.Характеристика.Представление КАК ХарактеристикаПредставление,
| Реквизиты.МаршрутнаяКарта КАК МаршрутнаяКарта,
| Реквизиты.МаршрутнаяКарта.Представление КАК МаршрутнаяКартаПредставление,
| Реквизиты.УправлениеМаршрутнымиЛистами КАК УправлениеМаршрутнымиЛистами,
| Реквизиты.Начало,
| Реквизиты.Окончание,
| Реквизиты.Запланировано,
| Реквизиты.Произведено,
| Реквизиты.Брак
|ИЗ
| Документ.МаршрутныйЛистПроизводства КАК Реквизиты
|ГДЕ
| Реквизиты.Ссылка В(&МассивДокументов)
|
|УПОРЯДОЧИТЬ ПО
| Реквизиты.Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТаблицаВыходныеИзделия.Ссылка КАК Ссылка,
| ТаблицаВыходныеИзделия.НомерСтроки,
| ТаблицаВыходныеИзделия.Номенклатура,
| ТаблицаВыходныеИзделия.Номенклатура.Код КАК НоменклатураКод,
| ТаблицаВыходныеИзделия.Номенклатура.Артикул КАК НоменклатураАртикул,
| ТаблицаВыходныеИзделия.Номенклатура КАК Номенклатура,
| ТаблицаВыходныеИзделия.Номенклатура.НаименованиеПолное КАК НоменклатураПредставление,
| ТаблицаВыходныеИзделия.Характеристика.Представление КАК ХарактеристикаПредставление,
| ВЫБОР
| КОГДА ТаблицаВыходныеИзделия.Упаковка <> ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
| ТОГДА ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаВыходныеИзделия.Упаковка.ЕдиницаИзмерения)
| ИНАЧЕ ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаВыходныеИзделия.Номенклатура.ЕдиницаИзмерения)
| КОНЕЦ КАК ЕдиницаИзмеренияНаименование,
| ТаблицаВыходныеИзделия.КоличествоУпаковок КАК Норматив,
| ВЫБОР
| КОГДА ТаблицаВыходныеИзделия.Ссылка.Статус В (ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.КВыполнению),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполняется),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполнен))
| ТОГДА ТаблицаВыходныеИзделия.КоличествоУпаковокФакт
| ИНАЧЕ 0
| КОНЕЦ КАК Факт,
| ВЫБОР
| КОГДА ТаблицаВыходныеИзделия.Ссылка.Статус В (ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.КВыполнению),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполняется),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполнен))
| ТОГДА ТаблицаВыходныеИзделия.КоличествоУпаковокОтклонение
| ИНАЧЕ 0
| КОНЕЦ КАК Отклонение,
| ЕСТЬNULL(ТаблицаОперации.НомерОперации, """") КАК НомерОперации,
| ЕСТЬNULL(ТаблицаОперации.Операция, НЕОПРЕДЕЛЕНО) КАК Операция
|ИЗ
| Документ.МаршрутныйЛистПроизводства.ВыходныеИзделия КАК ТаблицаВыходныеИзделия
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.МаршрутныйЛистПроизводства.Операции КАК ТаблицаОперации
| ПО (ТаблицаОперации.Ссылка = ТаблицаВыходныеИзделия.Ссылка)
| И (ТаблицаОперации.КлючСвязи = ТаблицаВыходныеИзделия.КлючСвязиОперации)
|ГДЕ
| ТаблицаВыходныеИзделия.Ссылка В(&МассивДокументов)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТаблицаМатериалыИУслуги.Ссылка КАК Ссылка,
| ТаблицаМатериалыИУслуги.НомерСтроки,
| ТаблицаМатериалыИУслуги.Номенклатура,
| ТаблицаМатериалыИУслуги.Номенклатура.Код КАК НоменклатураКод,
| ТаблицаМатериалыИУслуги.Номенклатура.Артикул КАК НоменклатураАртикул,
| ТаблицаМатериалыИУслуги.Номенклатура КАК Номенклатура,
| ТаблицаМатериалыИУслуги.Номенклатура.НаименованиеПолное КАК НоменклатураПредставление,
| ТаблицаМатериалыИУслуги.Характеристика.Наименование КАК ХарактеристикаПредставление,
| ВЫБОР
| КОГДА ТаблицаМатериалыИУслуги.Упаковка <> ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
| ТОГДА ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаМатериалыИУслуги.Упаковка.ЕдиницаИзмерения)
| ИНАЧЕ ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаМатериалыИУслуги.Номенклатура.ЕдиницаИзмерения)
| КОНЕЦ КАК ЕдиницаИзмеренияНаименование,
| ТаблицаМатериалыИУслуги.КоличествоУпаковок КАК Норматив,
| ВЫБОР
| КОГДА ТаблицаМатериалыИУслуги.Ссылка.Статус В (ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.КВыполнению),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполняется),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполнен))
| ТОГДА ТаблицаМатериалыИУслуги.КоличествоУпаковокФакт
| ИНАЧЕ 0
| КОНЕЦ КАК Факт,
| ВЫБОР
| КОГДА ТаблицаМатериалыИУслуги.Ссылка.Статус В (ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.КВыполнению),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполняется),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполнен))
| ТОГДА ТаблицаМатериалыИУслуги.КоличествоУпаковокОтклонение
| ИНАЧЕ 0
| КОНЕЦ КАК Отклонение,
| ЕСТЬNULL(ТаблицаОперации.НомерОперации, """") КАК НомерОперации,
| ЕСТЬNULL(ТаблицаОперации.Операция, НЕОПРЕДЕЛЕНО) КАК Операция
|ИЗ
| Документ.МаршрутныйЛистПроизводства.МатериалыИУслуги КАК ТаблицаМатериалыИУслуги
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.МаршрутныйЛистПроизводства.Операции КАК ТаблицаОперации
| ПО (ТаблицаОперации.Ссылка = ТаблицаМатериалыИУслуги.Ссылка)
| И (ТаблицаОперации.КлючСвязи = ТаблицаМатериалыИУслуги.КлючСвязиОперации)
|ГДЕ
| ТаблицаМатериалыИУслуги.Ссылка В(&МассивДокументов)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТаблицаОперации.Ссылка КАК Ссылка,
| ТаблицаОперации.Операция КАК Операция,
| ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаОперации.Операция) КАК ОперацияПредставление,
| ТаблицаОперации.НомерОперации КАК НомерОперации,
| ТаблицаОперации.ВремяВыполнения КАК ВремяВыполнения,
| ТаблицаОперации.ВремяВыполненияЕдИзм КАК ВремяВыполненияЕдИзм,
| ТаблицаОперации.ПодготовительноеВремя КАК ПодготовительноеВремя,
| ТаблицаОперации.ПодготовительноеВремяЕдИзм КАК ПодготовительноеВремяЕдИзм,
| ТаблицаОперации.ЗаключительноеВремя КАК ЗаключительноеВремя,
| ТаблицаОперации.ЗаключительноеВремяЕдИзм КАК ЗаключительноеВремяЕдИзм
|ИЗ
| Документ.МаршрутныйЛистПроизводства.Операции КАК ТаблицаОперации
|ГДЕ
| ТаблицаОперации.Ссылка В(&МассивДокументов)";
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ПолеСлева = 5;
ТабличныйДокумент.ПолеСправа = 5;
ТабличныйДокумент.РазмерКолонтитулаСверху = 0;
ТабличныйДокумент.РазмерКолонтитулаСнизу = 0;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_МаршрутныйЛистНовый_МаршрутныйЛист";
МассивРезультатов = Запрос.ВыполнитьПакет();
ДанныеПечати = МассивРезультатов[0].Выбрать();
ТаблицаВыходныеИзделия = МассивРезультатов[1].Выгрузить();
ТаблицаВыходныеИзделия.Индексы.Добавить("Ссылка");
ТаблицаМатериалыИУслуги = МассивРезультатов[2].Выгрузить();
ТаблицаМатериалыИУслуги.Индексы.Добавить("Ссылка");
ТаблицаОперации = МассивРезультатов[3].Выгрузить();
ТаблицаОперации.Индексы.Добавить("Ссылка");
КолонкаКодов = ФормированиеПечатныхФорм.ИмяДополнительнойКолонки();
ПервыйДокумент = Истина;
Пока ДанныеПечати.Следующий() Цикл
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
// Выводим общие реквизиты шапки
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
ОбластьМакета.Параметры.Заполнить(ДанныеПечати);
// Используем структуру для заполнения параметров, т.к. макет может изменяться пользователем
ДополнительныеПараметрыОбластьМакета = Новый Структура;
НомерДокумента = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ДанныеПечати.Номер);
ДополнительныеПараметрыОбластьМакета.Вставить("НомерДокумента", НомерДокумента);
ДополнительныеПараметрыОбластьМакета.Вставить("ДатаДокумента", Формат(ДанныеПечати.Дата, "ДЛФ=D"));
// РаспоряжениеПредставление
НомерДокумента = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ДанныеПечати.РаспоряжениеНомер);
РаспоряжениеПредставление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '№%1 от %2 (код строки %3)'"),
НомерДокумента,
Формат(ДанныеПечати.Дата, "ДЛФ=D"),
Формат(ДанныеПечати.КодСтроки, "ЧГ="));
ДополнительныеПараметрыОбластьМакета.Вставить("РаспоряжениеПредставление", РаспоряжениеПредставление);
Если Минута(ДанныеПечати.Начало) = 0
И Час(ДанныеПечати.Начало) = 0
И Минута(ДанныеПечати.Окончание) = 59
И Час(ДанныеПечати.Окончание) = 23 Тогда
ФорматПериода = "ДЛФ=D";
Иначе
ФорматПериода = "ДФ='dd.MM.yy ЧЧ:мм'";
КонецЕсли;
// НачатьНеРаньше
НачатьНеРаньше = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '(не раньше %1)'"),
Формат(ДанныеПечати.Начало, ФорматПериода));
ДополнительныеПараметрыОбластьМакета.Вставить("НачатьНеРаньше", НачатьНеРаньше);
// СрокНеПозже
СрокНеПозже = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '(не позже %1)'"),
Формат(ДанныеПечати.Окончание, ФорматПериода));
ДополнительныеПараметрыОбластьМакета.Вставить("СрокНеПозже", СрокНеПозже);
// ИзделиеПредставление
ИзделиеПредставление = НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
ДанныеПечати.НоменклатураПредставление,
ДанныеПечати.ХарактеристикаПредставление);
ДополнительныеПараметрыОбластьМакета.Вставить("ИзделиеПредставление", ИзделиеПредставление);
// СпецификацияПредставление
СпецификацияПредставление = ДанныеПечати.СпецификацияПредставление;
Если ДанныеПечати.МногоэтапныйПроизводственныйПроцесс Тогда
СпецификацияПредставление = СпецификацияПредставление + ", " + ДанныеПечати.ЭтапПредставление;
КонецЕсли;
ДополнительныеПараметрыОбластьМакета.Вставить("СпецификацияПредставление", СпецификацияПредставление);
ОбластьМакета.Параметры.Заполнить(ДополнительныеПараметрыОбластьМакета);
ТабличныйДокумент.Вывести(ОбластьМакета);
НомерСтраницы = 1;
// Создаем массив для проверки вывода
МассивВыводимыхОбластей = Новый Массив;
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
МакетОбработки = ПолучитьМакет("МакетМаршрутныйЛист");
ОбластьШапки = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапки.Параметры.НомерДокумента = СсылкаНаОбъект.Номер;
ОбластьШапки.Параметры.ДатаДокумента = Формат(СсылкаНаОбъект.Дата, "ДФ=dd.MM.yyyy; ДЛФ=DT" );
ОбластьШапки.Параметры.ПодразделениеПредставление = СсылкаНаОбъект.Подразделение;
ОбластьШапки.Параметры.ИзделиеПредставление = СсылкаНаОбъект.Номенклатура;
ОбластьШапки.Параметры.СпецификацияПредставление = СсылкаНаОбъект.Спецификация;
ОбластьШапки.Параметры.РаспоряжениеПредставление = СсылкаНаОбъект.Распоряжение;
ОбластьШапки.Параметры.Назначение = СсылкаНаОбъект.Назначение;
ТабличныйДокумент.Вывести(ОбластьШапки);
ОбластьСтроки = МакетОбработки.ПолучитьОбласть("СтрокаТЧ");
Для Каждого ТекущаяСтрока Из СсылкаНаОбъект.РаспоряжениеСпецификация Цикл
ОбластьСтроки.Параметры.НоменклатураПредставление = ТекущаяСтрока.Номенклатура;
ОбластьСтроки.Параметры.Норматив = ТекущаяСтрока.Количество;
ТабличныйДокумент.Вывести(ОбластьСтроки);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
Возврат ТабличныйДокумент;
КонецФункции // СформироватьПечатнуюФорму()
СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)
вызывается из процедуры Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода)
СформироватьПечатнуюФорму(ОбъектПечати, ОбъектыПечати))
. При этом ОбъектПечати
- это элемент массива МассивОбъектов, в который Вы должны передать документы, для которых хотите распечатать маршрутные листы.СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)
параметр СсылкаНаОбъект будет пустымФункция ПечатьВнешнейПечатнойФормы(МассивОбъектов, ОбъектыПечати) Экспорт
ТабДок = новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетМаршрутныйЛист");
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ");
Запрос = новый запрос;
Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов);
Запрос.Текст = "ВЫБРАТЬ
| МаршрутныйЛистПроизводства.Номер,
| МаршрутныйЛистПроизводства.Дата,
| МаршрутныйЛистПроизводства.Распоряжение,
| МаршрутныйЛистПроизводства.Распоряжение.Номер КАК РаспоряжениеНомер,
| МаршрутныйЛистПроизводства.Распоряжение.Дата КАК РаспоряжениеДата,
| МаршрутныйЛистПроизводства.КодСтроки КАК КодСтроки,
| МаршрутныйЛистПроизводства.Спецификация КАК Спецификация,
| МаршрутныйЛистПроизводства.Спецификация.Представление КАК СпецификацияПредставление,
| МаршрутныйЛистПроизводства.Подразделение КАК Подразделение,
| МаршрутныйЛистПроизводства.Назначение КАК Назначение
|ИЗ
| Документ.МаршрутныйЛистПроизводства КАК МаршрутныйЛистПроизводства
|ГДЕ
| МаршрутныйЛистПроизводства.Ссылка В(&МассивОбъектов)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| МаршрутныйЛистПроизводства.Номер,
| МаршрутныйЛистПроизводства.Дата,
| МаршрутныйЛистПроизводства.Распоряжение,
| МаршрутныйЛистПроизводства.Распоряжение.Номер КАК РаспоряжениеНомер,
| МаршрутныйЛистПроизводства.Распоряжение.Дата КАК РаспоряжениеДата,
| МаршрутныйЛистПроизводства.КодСтроки КАК КодСтроки,
| МаршрутныйЛистПроизводства.Спецификация КАК Спецификация,
| МаршрутныйЛистПроизводства.Спецификация.Представление КАК СпецификацияПредставление,
| МаршрутныйЛистПроизводства.Подразделение КАК Подразделение,
| МаршрутныйЛистПроизводства.Назначение КАК Назначение
|ИЗ
| Документ.МаршрутныйЛистПроизводства КАК МаршрутныйЛистПроизводства
|ГДЕ
| МаршрутныйЛистПроизводства.Ссылка В(&МассивОбъектов)
|
|УПОРЯДОЧИТЬ ПО
| Ссылка";
ОбщаяВыборка = Запрос.Выполнить().Выгрузить();
Для Каждого СсылкаНаОбъект из МассивОбъектов Цикл
ОбластьШапки.Параметры.ТекстЗаголовка = "Маршрутный лист № "+СсылкаНаОбъект.Номер;
ОбластьШапки.Параметры.ТекстЗаголовка = "Дата"+СсылкаНаОбъект.Дата;
ТабДок.Вывести(ОбластьШапки);
Отбор = Новый Структура;
Отбор.Вставить("Ссылка",СсылкаНаОбъект);
Выборка = ОбщаяВыборка.НайтиСтроки(Отбор);
ИтогоСумма = 0;
ИтогоКоличество = 0;
Для Каждого Стр из Выборка Цикл
ЗаполнитьЗначенияСвойств(ОбластьСтрокаТЧ.Параметры,Стр);
ИтогоСумма = ИтогоСумма + Стр.Сумма;
ИтогоКоличество = ИтогоКоличество + Стр.Количество;
ТабДок.Вывести(ОбластьСтрокаТЧ);
КонецЦикла;
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЦикла;
Возврат ТабДок;
КонецФункции
ОбщаяВыборка = Запрос.Выполнить().Выгрузить();
XacTLa @ Сегодня, 10:34
,
ДОлжно быть в запросе не:
|УПОРЯДОЧИТЬ ПО
| Ссылка";
|УПОРЯДОЧИТЬ ПО
| МаршрутныйЛистПроизводства.Ссылка";
ПечатьВнешнейПечатнойФормы(МассивОбъектов, ОбъектыПечати)
????XacTLa,
1. Зачем выбирать 2 экземпляра документа ?
2. Зачем поиск в результате запроса - у Вас уже все есть в выборке ?
3. Покажите код, где Вы формируете массив документов.
Да это верно я ее упустил, вот теперь сижу читаю как это сделать, спасибо за намеки)
Короче говоря я запутался массив мне уже не нужен, теперь я должен команду печати переделать?
Ага ща
Пример вот такой запрос?
Функция Печать() Экспорт
ТабДок = новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
ОбластьДанные = Макет.ПолучитьОбласть("Данные");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапки.Параметры.ТекстЗаголовка = "Печатная форма "+СсылкаНаОбъект.Номер;
ОбластьШапки.Параметры.Организация = СсылкаНаОбъект.Организация;
ОбластьШапки.Параметры.Контрагент = СсылкаНаОбъект.Контрагент;
ОбластьШапки.Параметры.ДоговорКонтрагента = СсылкаНаОбъект.ДоговорКонтрагента;
ОбластьШапки.Параметры.ДатаПоступления = СсылкаНаОбъект.Дата;
ТабДок.Вывести(ОбластьШапки);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ПоступлениеТоваровУслугТовары.Номенклатура,
| ПоступлениеТоваровУслугТовары.Сумма,
| ПоступлениеТоваровУслугТовары.Цена,
| ПоступлениеТоваровУслугТовары.Количество,
| ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаНаСегодня
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ТекущаяДата, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
| ПО ПоступлениеТоваровУслугТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
|ГДЕ
| ПоступлениеТоваровУслугТовары.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка",СсылкаНаОбъект);
Запрос.УстановитьПараметр("ТекущаяДата",ТекущаяДата());
Запрос.УстановитьПараметр("ТипЦен",СсылкаНаОбъект.ТипЦен);
Выборка = Запрос.Выполнить().Выбрать();
ИтогоСумма = 0;
ИтогоКоличество = 0;
Пока Выборка.Следующий() Цикл
ЗаполнитьЗначенияСвойств(ОбластьДанные.Параметры,Выборка);
ИтогоСумма = ИтогоСумма + Выборка.Сумма;
ИтогоКоличество = ИтогоКоличество + Выборка.Количество;
ТабДок.Вывести(ОбластьДанные);
КонецЦикла;
ОбластьПодвал.Параметры.ИтогоКоличество = ИтогоКоличество;
ОбластьПодвал.Параметры.ИтогоСумма = ИтогоСумма;
ТабДок.Вывести(ОбластьПодвал);
возврат ТабДок;
КонецФункции
Процедура ПакетнаяПечать()
//получаем массив с документами
Для Каждого ЭлементМассива из Массив Цикл
ГотовыйТабличныйДокумент = Печать(ЭлементМассива);
ГотовыйТабличныйДокумент.Напечатать();
КонецЦикла;
КонецПроцедуры
salton @ Сегодня, 16:07
,
А говорили что цикл по массиву не нужен, и еще так и не понял верно я запрос указал или нет?
XacTLa @ 04.10.17, 15:58
,
Слишком много фактических параметров
Функция Печать(СсылкаНаОбъект) Экспорт
ТабДок = новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетМаршрутныйЛист");
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ");
ОбластьШапки.Параметры.ТекстЗаголовка = СсылкаНаОбъект.Номер;
ОбластьШапки.Параметры.ТекстЗаголовка = СсылкаНаОбъект.Дата;
ОбластьШапки.Параметры.ПодразделениеПредставление = СсылкаНаОбъект.Подразделение;
ОбластьШапки.Параметры.ИзделиеПредставление = СсылкаНаОбъект.Номенклатура;
ОбластьШапки.Параметры.СпецификацияПредставление = СсылкаНаОбъект.Спецификация;
ОбластьШапки.Параметры.РаспоряжениеПредставление = СсылкаНаОбъект.Распоряжение;
ОбластьШапки.Параметры.Назначение = СсылкаНаОбъект.Назначение;
ТабДок.Вывести(ОбластьШапки);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| МаршрутныйЛистПроизводства.Номенклатура,
| МаршрутныйЛистПроизводства.ВыходныеИзделия.(
| Количество
| )
|ИЗ
| Документ.МаршрутныйЛистПроизводства КАК МаршрутныйЛистПроизводства
|ГДЕ
| МаршрутныйЛистПроизводства.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка",СсылкаНаОбъект);
Запрос.УстановитьПараметр("ТекущаяДата",ТекущаяДата());
возврат ТабДок;
КонецФункции
XacTLa @ Сегодня, 11:56
,
дайте полную строку описания ошибки...
зы. по поводу использовать ли перебор/цикл по массиву - если Вы передадите в "СсылкаНаОбъект" сам Массив с доками, а в условии корректно укажите МаршрутныйЛистПроизводства.Ссылка в (&Ссылка) то естественно Вам перебор/цикл по Массиву не нужен )))
salton @ Сегодня, 14:34
,
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(221)}: Слишком много фактических параметров
ВнешняяОбработкаОбъект.Печать(
salton @ Сегодня, 16:52
,
вот это полный текст, я захожу в конфигуратор, меня кидает на общий модуль. Я вообще в шоке.
на этот код :
Процедура ПечатьПоВнешнемуИсточнику(Ссылка, ПараметрыИсточника, КоллекцияПечатныхФорм,
ОбъектыПечати, ПараметрыВывода) Экспорт
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьДополнительныеОтчетыИОбработки") Тогда
Возврат;
КонецЕсли;
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(ПараметрыИсточника.ИдентификаторКоманды);
ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
ОбъектыПечати = Новый СписокЗначений;
ВнешняяОбработкаОбъект = ПолучитьОбъектВнешнейОбработки(Ссылка);
Если ВнешняяОбработкаОбъект = Неопределено Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Внешняя обработка ""%1"" (тип ""%2"") не обслуживается подсистемой ""Дополнительные отчеты и обработки""'"),
Строка(Ссылка),
Строка(ТипЗнч(Ссылка)));
КонецЕсли;
ВнешняяОбработкаОбъект.Печать(
ПараметрыИсточника.ОбъектыНазначения,
КоллекцияПечатныхФорм,
ОбъектыПечати,
ПараметрыВывода);
// Проверим, все ли макеты были сформированы
Для Каждого Стр Из КоллекцияПечатныхФорм Цикл
Если Стр.ТабличныйДокумент = Неопределено Тогда
ТекстСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В обработчике печати не был сформирован табличный документ для: %1'"),
Стр.ИмяМакета);
ВызватьИсключение(ТекстСообщенияОбОшибке);
КонецЕсли;
Стр.ТабличныйДокумент.КоличествоЭкземпляров = Стр.Экземпляров;
КонецЦикла;
КонецПроцедуры
ВнешняяОбработкаОбъект.Печать(
ПараметрыИсточника.ОбъектыНазначения,
КоллекцияПечатныхФорм,
ОбъектыПечати,
ПараметрыВывода);
XacTLa @ Сегодня, 16:54
,
В модуле менеджера должна располагаться экспортная процедура "Печать" с пятью параметрами. Внутри этой процедуры исходя из полученных параметров осуществляется вызов локальных процедур печати.
Почему у вас процедура "Печать" имеет один параметр - не понятно.
salton @ Сегодня, 17:31 salton @ Сегодня, 17:31 ,Что мне нужно сделать так?
Функция Печать(СсылкаНаОбъект, ПараметрыИсточника, КоллекцияПечатныхФорм,
ОбъектыПечати, ПараметрыВывода) Экспорт
ТабДок = новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетМаршрутныйЛист");
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ");
ОбластьШапки.Параметры.ТекстЗаголовка = СсылкаНаОбъект.Номер;
ОбластьШапки.Параметры.ТекстЗаголовка = СсылкаНаОбъект.Дата;
ОбластьШапки.Параметры.ПодразделениеПредставление = СсылкаНаОбъект.Подразделение;
ОбластьШапки.Параметры.ИзделиеПредставление = СсылкаНаОбъект.Номенклатура;
ОбластьШапки.Параметры.СпецификацияПредставление = СсылкаНаОбъект.Спецификация;
ОбластьШапки.Параметры.РаспоряжениеПредставление = СсылкаНаОбъект.Распоряжение;
ОбластьШапки.Параметры.Назначение = СсылкаНаОбъект.Назначение;
ТабДок.Вывести(ОбластьШапки);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| МаршрутныйЛистПроизводства.Номенклатура,
| МаршрутныйЛистПроизводства.ВыходныеИзделия.(
| Количество
| )
|ИЗ
| Документ.МаршрутныйЛистПроизводства КАК МаршрутныйЛистПроизводства
|ГДЕ
| МаршрутныйЛистПроизводства.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка",СсылкаНаОбъект);
Запрос.УстановитьПараметр("ТекущаяДата",ТекущаяДата());
возврат ТабДок;
КонецФункции
???XacTLa @ Сегодня, 17:45
,
Из какого документа вы печатаете?
Где располагается данная процедура?
Это Ваша новая написанная функция печати - Печать(СсылкаНаОбъект, ПараметрыИсточника, КоллекцияПечатныхФорм,ОбъектыПечати, ПараметрыВывода)
СсылкаНаОбъект - это раз
ПараметрыИсточника - это два
КоллекцияПечатныхФорм - это три
ОбъектыПечати - это четыре
ПараметрыВывода - это пять
Итого пять параметров.
Это функция печати которая вызывается из модуля - ВнешняяОбработкаОбъект.Печать(ПараметрыИсточника.ОбъектыНазначения,КоллекцияПечатныхФорм,ОбъектыПечати,ПараметрыВывода);
ПараметрыИсточника.ОбъектыНазначения - это раз
КоллекцияПечатныхФорм - это два
ОбъектыПечати - это три
ПараметрыВывода - это четыре.
Итого четыре параметра.
Четыре параметра - не пять. Потому Вы передавая функции излишнее или недостаточное количество параметров ставите ее в тупик.
Количество параметров должно быть равным!
Можно так Печать(ПараметрыИсточника.ОбъектыНазначения,,,) - если остальные параметры Вам не нужны.
При этом ПараметрыИсточника.ОбъектыНазначения - у Вас должен быть Ваш массив с доками.
Petre @ Вчера, 16:57
,
МаршрутныйЛистПроизводства
salton @ Вчера, 18:15
,
Я уже ставлю одну процедуру это "Ссылка на обьект" и все равно пишем много параметров
Может кто то знает как это чудо переделать так что бы работало, а то вообще я уже подставляю параметры все равно пишет много факт. данных
Функция Печать(СсылкаНаОбъект, ПараметрыИсточника, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Для Каждого ОбъектПечати Из СсылкаНаОбъект Цикл
УправлениеПечатью.
ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"МаршрутныйНовый",
"Маршрутный новый",
СформироватьПечатнуюФорму(СсылкаНаОбъект, ПараметрыИсточника, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода));
КонецЦикла;
ТабДок = новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетМаршрутныйЛист");
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ");
ОбластьШапки.Параметры.ТекстЗаголовка = СсылкаНаОбъект.Номер;
ОбластьШапки.Параметры.ТекстЗаголовка = СсылкаНаОбъект.Дата;
ОбластьШапки.Параметры.ПодразделениеПредставление = СсылкаНаОбъект.Подразделение;
ОбластьШапки.Параметры.ИзделиеПредставление = СсылкаНаОбъект.Номенклатура;
ОбластьШапки.Параметры.СпецификацияПредставление = СсылкаНаОбъект.Спецификация;
ОбластьШапки.Параметры.РаспоряжениеПредставление = СсылкаНаОбъект.Распоряжение;
ОбластьШапки.Параметры.Назначение = СсылкаНаОбъект.Назначение;
ТабДок.Вывести(ОбластьШапки);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| МаршрутныйЛистПроизводства.Номенклатура,
| МаршрутныйЛистПроизводства.ВыходныеИзделия.(
| Количество
| )
|ИЗ
| Документ.МаршрутныйЛистПроизводства КАК МаршрутныйЛистПроизводства
|ГДЕ
| МаршрутныйЛистПроизводства.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка",СсылкаНаОбъект);
Запрос.УстановитьПараметр("ТекущаяДата",ТекущаяДата());
возврат ТабДок;
КонецФункции
XacTLa @ Сегодня, 14:07
,
вполне даже очень ничего код, не понятно зачем там запрос и что вы делаете с его результатами.. но то уже другая опера.
а теперь покажите код в котором Вы вызываете функцию печать, код которой Вы тут выложили!
Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ПараметрыИсточника,
КоллекцияПечатныхФорм,
ОбъектыПечати,
ПараметрыВывода)
ТабличныйДокумент = Новый ТабличныйДокумент;
МакетОбработки = ПолучитьМакет("МакетМаршрутныйЛист");
ОбластьШапки = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапки.Параметры.НомерДокумента = СсылкаНаОбъект.Номер;
ОбластьШапки.Параметры.ДатаДокумента = Формат(СсылкаНаОбъект.Дата, "ДФ=dd.MM.yyyy; ДЛФ=DT" );
ОбластьШапки.Параметры.ПодразделениеПредставление = СсылкаНаОбъект.Подразделение;
ОбластьШапки.Параметры.ИзделиеПредставление = СсылкаНаОбъект.Номенклатура;
ОбластьШапки.Параметры.СпецификацияПредставление = СсылкаНаОбъект.Спецификация;
ОбластьШапки.Параметры.РаспоряжениеПредставление = СсылкаНаОбъект.Распоряжение;
ОбластьШапки.Параметры.Назначение = СсылкаНаОбъект.Назначение;
ТабличныйДокумент.Вывести(ОбластьШапки);
ОбластьСтроки = МакетОбработки.ПолучитьОбласть("СтрокаТЧ");
Для Каждого ТекущаяСтрока Из СсылкаНаОбъект.РаспоряжениеСпецификация Цикл
ОбластьСтроки.Параметры.НоменклатураПредставление = ТекущаяСтрока.Номенклатура;
ОбластьСтроки.Параметры.Норматив = ТекущаяСтрока.Количество;
ТабличныйДокумент.Вывести(ОбластьСтроки);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
Возврат ТабличныйДокумент;
КонецФункции
Вы в коде функции
СформироватьПечатнуюФорму()
(вот в той которую выложили последней), видите где-то вызов функции Печать()??Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua