Имеется обработка в которой есть реквизит Объект.ПрихНакл, в которой хранится ссылка на документ ПоступлениеТоваровУслуг, для этого документа прописана внешняя печатная форма "Приемо-сдаточный акт", из документа все печатает. а как эту форму сформировать из обработки, или с любого другого случайного места?
Процедура ПечатьИзВПФ(ИмяВПФ); //
СсылкаНаВПФ = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяВПФ);
Если СсылкаНаВПФ.Пустая() Тогда
Сообщить("В справочнике 'Внешние обработки' не нашли внешнюю печатную форму с наименованием '"+ИмяВПФ+"'");
Возврат;
КонецЕсли;
Попытка
ИмяВременногоФайла = КаталогВременныхФайлов()+"тмп_впф.epf";
Исключение
Сообщить ("Невозможно создать файл обработке в каталоге временных файлов <<"+
+КаталогВременныхФайлов()+">>. Возможно, не хватает прав доступа в Windows в папку для данного сеанса 1С ");
Возврат;
КонецПопытки;
Попытка
ОбрОбъект = ВнешниеОбработки.Создать(ИмяВременногоФайла);
//ОбрОбъект.ДокОбъект = ЭтотОбъект; // НЕ исп. метод скопировать. Передать ТАК - особенности ВДГБ;
Исключение
Сообщить("Ошибка создания объекта из временного файла обработки "+ИмяВременногоФайла);
Возврат;
КонецПопытки;
МассивОбъектовНазначения = Новый Массив;
МассивОбъектовНазначения.Добавить(Объект.ПрихНакл);
// Проба печати
Попытка
ТаблДок = ОбрОбъект.печать(МассивОбъектовНазначения, Новый СписокЗначений, Истина, Ложь);
ТаблДок.Вывести();
Исключение
А=1; // Точка останова для отладки!
Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке() )); // ВНЕШНЮЮ печатную форму из справончика ВПФ можно спокойно поправить!
КонецПопытки;
КонецПроцедуры
но она не работает, вы дает вот такую ошибку:
{Форма.Форма.Форма(206)}: Обращение к процедуре объекта как к функции (печать)
ТаблДок = ОбрОбъект.печать(МассивОбъектовНазначения, Новый СписокЗначений, Истина, Ложь);
блин, все переделал, теперь ошибок нету... печ.форма формируется - но не выводиться на экран. как этого можно добиться?
процедура вызова ВПФ:
Процедура ПечатьИзВПФ(ИмяВПФ); //
СсылкаНаВПФ = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяВПФ);
Если СсылкаНаВПФ.Пустая() Тогда
Сообщить("В справочнике 'Внешние обработки' не нашли внешнюю печатную форму с наименованием '"+ИмяВПФ+"'");
Возврат;
КонецЕсли;
Попытка
ИмяВременногоФайла = КаталогВременныхФайлов()+"тмп_впф.epf";
Исключение
Сообщить ("Невозможно создать файл обработке в каталоге временных файлов <<"+
+КаталогВременныхФайлов()+">>. Возможно, не хватает прав доступа в Windows в папку для данного сеанса 1С ");
Возврат;
КонецПопытки;
ДвоичныеДанные = СсылкаНаВПФ.ХранилищеОбработки.Получить();
ДвоичныеДанные.Записать(ИмяВременногоФайла);
Попытка
ОбрОбъект = ВнешниеОбработки.Создать(ИмяВременногоФайла);
//ОбрОбъект.ДокОбъект = ЭтотОбъект; // НЕ исп. метод скопировать. Передать ТАК - особенности ВДГБ;
Исключение
Сообщить("Ошибка создания объекта из временного файла обработки "+ИмяВременногоФайла);
Возврат;
КонецПопытки;
МассивОбъектовНазначения = Новый Массив;
МассивОбъектовНазначения.Добавить(Объект.ПрихНакл);
ОбъектыПечати = Новый СписокЗначений;
КоллекцияПечатныхФорм = Новый ТаблицаЗначений;
КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета");
КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ");
КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета");
КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент");
КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров");
КоллекцияПечатныхФорм.Колонки.Добавить("Картинка");
КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету");
КоллекцияПечатныхФорм.Колонки.Добавить("ИмяФайлаПечатнойФормы");
стр=КоллекцияПечатныхФорм.Добавить();
стр.ИмяМакета="ПриемоСдаточныйАкт";
стр.ИмяВРЕГ="ПРИЕМОСДАТОЧНЫЙАКТ";
стр.Экземпляров=1;
//ИмяМакета=ПриемоСдаточныйАкт, ИмяВРЕГ=ПРИЕМОСДАТОЧНЫЙАКТ, СинонимМакета=, ТабличныйДокумент=, Экземпляров=1, Картинка=, ПолныйПутьКМакету=, ИмяФайлаПечатнойФормы=,
// Проба печати
Попытка
ОбрОбъект.печать(МассивОбъектовНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, Ложь);
//ТаблДок.Вывести();
Исключение
А=1; // Точка останова для отладки!
Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке() )); // ВНЕШНЮЮ печатную форму из справончика ВПФ можно спокойно поправить!
КонецПопытки;
КонецПроцедуры
Показать
вот выдержка из ВПФ:
// Функция формирует печатную форму Приемо-сдаточный акт документа.
//
Функция СформироватьПечатнуюФормуПриемоСдаточногоАкта(МассивОбъектов, ОбъектыПечати) Экспорт //Нетиповое
КолонкаКодов = ФормированиеПечатныхФорм.ИмяДополнительнойКолонки();
ВыводитьКоды = ЗначениеЗаполнено(КолонкаКодов);
ИспользоватьРучныеСкидки = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВЗакупках");
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПоступлениеТоваровУслуг_Акт";
Запрос = Новый Запрос("ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Ссылка КАК Ссылка,
| ПоступлениеТоваровУслуг.Номер КАК Номер,
| ПоступлениеТоваровУслуг.Дата КАК Дата,
| ПоступлениеТоваровУслуг.Контрагент КАК Контрагент,
| ПоступлениеТоваровУслуг.Организация КАК Организация,
| ПоступлениеТоваровУслуг.Валюта КАК Валюта,
| ТранспортноеСредство.Значение КАК ТС,
| ВидЛома.Значение КАК ВидЛома,
| АктСобств.Значение КАК АктСобств
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Значение КАК Значение,
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Ссылка КАК Ссылка
| ИЗ
| Документ.ПоступлениеТоваровУслуг.ДополнительныеРеквизиты КАК ПоступлениеТоваровУслугДополнительныеРеквизиты
| ГДЕ
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Свойство = &СвойствоТранспортноеСредство
| И ПоступлениеТоваровУслугДополнительныеРеквизиты.Ссылка В(&МассивДокументов)) КАК ТранспортноеСредство
| ПО ПоступлениеТоваровУслуг.Ссылка = ТранспортноеСредство.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Ссылка КАК Ссылка,
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Значение КАК Значение
| ИЗ
| Документ.ПоступлениеТоваровУслуг.ДополнительныеРеквизиты КАК ПоступлениеТоваровУслугДополнительныеРеквизиты
| ГДЕ
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Свойство = &СвойствоВидЛома
| И ПоступлениеТоваровУслугДополнительныеРеквизиты.Ссылка В(&МассивДокументов)) КАК ВидЛома
| ПО ПоступлениеТоваровУслуг.Ссылка = ВидЛома.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Значение КАК Значение,
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Ссылка КАК Ссылка
| ИЗ
| Документ.ПоступлениеТоваровУслуг.ДополнительныеРеквизиты КАК ПоступлениеТоваровУслугДополнительныеРеквизиты
| ГДЕ
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Ссылка В(&МассивДокументов)
| И ПоступлениеТоваровУслугДополнительныеРеквизиты.Свойство = &СвойствоАктСобств) КАК АктСобств
| ПО ПоступлениеТоваровУслуг.Ссылка = АктСобств.Ссылка
|ГДЕ
| ПоступлениеТоваровУслуг.Ссылка В(&МассивДокументов)
| И ПоступлениеТоваровУслуг.Проведен
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВложенныйЗапрос.Ссылка КАК Ссылка,
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.Характеристика КАК Характеристика,
| ВложенныйЗапрос.ВесБрутто КАК ВесБрутто,
| ВложенныйЗапрос.Цена КАК Цена,
| ВложенныйЗапрос.Количество КАК Количество,
| ВложенныйЗапрос.Сумма КАК Сумма,
| ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
| ВложенныйЗапрос.ВесТары КАК ВесТары,
| ВложенныйЗапрос.Засоренность КАК Засоренность
|ИЗ
| (ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Ссылка КАК Ссылка,
| ПоступлениеТоваровУслуг.Номенклатура КАК Номенклатура,
| ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 1
| ТОГДА Засоренность1.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 2
| ТОГДА Засоренность2.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 3
| ТОГДА Засоренность3.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 4
| ТОГДА Засоренность4.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 5
| ТОГДА Засоренность5.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 6
| ТОГДА Засоренность6.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 7
| ТОГДА Засоренность7.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 8
| ТОГДА Засоренность8.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 9
| ТОГДА Засоренность9.Значение
| ИНАЧЕ Засоренность10.Значение
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ КАК Засоренность,
| ПоступлениеТоваровУслуг.Характеристика КАК Характеристика,
| ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 1
| ТОГДА ВесБрутто1.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 2
| ТОГДА ВесБрутто2.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 3
| ТОГДА ВесБрутто3.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 4
| ТОГДА ВесБрутто4.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 5
| ТОГДА ВесБрутто5.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 6
| ТОГДА ВесБрутто6.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 7
| ТОГДА ВесБрутто7.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 8
| ТОГДА ВесБрутто8.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 9
| ТОГДА ВесБрутто9.Значение
| ИНАЧЕ ВесБрутто10.Значение
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ КАК ВесБрутто,
| ПоступлениеТоваровУслуг.Цена КАК Цена,
| ПоступлениеТоваровУслуг.КоличествоУпаковок КАК Количество,
| ПоступлениеТоваровУслуг.Сумма КАК Сумма,
| ПоступлениеТоваровУслуг.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 1
| ТОГДА ВесТары1.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 2
| ТОГДА ВесТары2.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 3
| ТОГДА ВесТары3.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 4
| ТОГДА ВесТары4.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 5
| ТОГДА ВесТары5.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 6
| ТОГДА ВесТары6.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 7
| ТОГДА ВесТары7.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 8
| ТОГДА ВесТары8.Значение
| ИНАЧЕ ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 9
| ТОГДА ВесТары9.Значение
| ИНАЧЕ ВесТары10.Значение
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ КАК ВесТары
| ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслуг
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоЗасоренность1
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК Засоренность1
| ПО ПоступлениеТоваровУслуг.Ссылка = Засоренность1.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоЗасоренность2
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК Засоренность2
| ПО ПоступлениеТоваровУслуг.Ссылка = Засоренность2.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоЗасоренность3
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК Засоренность3
| ПО ПоступлениеТоваровУслуг.Ссылка = Засоренность3.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоЗасоренность4
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК Засоренность4
| ПО ПоступлениеТоваровУслуг.Ссылка = Засоренность4.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоЗасоренность5
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК Засоренность5
| ПО ПоступлениеТоваровУслуг.Ссылка = Засоренность5.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоЗасоренность6
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК Засоренность6
| ПО ПоступлениеТоваровУслуг.Ссылка = Засоренность6.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоЗасоренность7
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК Засоренность7
| ПО ПоступлениеТоваровУслуг.Ссылка = Засоренность7.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоЗасоренность8
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК Засоренность8
| ПО ПоступлениеТоваровУслуг.Ссылка = Засоренность8.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоЗасоренность9
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК Засоренность9
| ПО ПоступлениеТоваровУслуг.Ссылка = Засоренность9.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоЗасоренность10
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК Засоренность10
| ПО ПоступлениеТоваровУслуг.Ссылка = Засоренность10.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесБрутто1
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесБрутто1
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесБрутто1.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесБрутто2
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесБрутто2
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесБрутто2.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесБрутто3
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесБрутто3
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесБрутто3.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесБрутто4
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесБрутто4
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесБрутто4.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесБрутто5
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесБрутто5
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесБрутто5.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесБрутто6
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесБрутто6
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесБрутто6.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесБрутто7
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесБрутто7
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесБрутто7.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесБрутто8
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесБрутто8
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесБрутто8.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесБрутто9
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесБрутто9
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесБрутто9.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесБрутто10
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесБрутто10
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесБрутто10.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесТары1
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесТары1
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесТары1.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесТары2
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесТары2
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесТары2.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесТары3
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесТары3
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесТары3.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесТары4
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесТары4
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесТары4.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесТары5
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесТары5
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесТары5.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесТары6
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесТары6
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесТары6.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесТары7
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесТары7
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесТары7.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесТары8
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесТары8
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесТары8.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесТары9
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесТары9
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесТары9.Объект
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Значение КАК Значение
| ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
| ГДЕ
| ДополнительныеСведения.Свойство = &СвойствоВесТары10
| И ДополнительныеСведения.Объект В(&МассивДокументов)) КАК ВесТары10
| ПО ПоступлениеТоваровУслуг.Ссылка = ВесТары10.Объект
| ГДЕ
| ПоступлениеТоваровУслуг.Ссылка В(&МассивДокументов)
| И ПоступлениеТоваровУслуг.Ссылка.Проведен
| И ПоступлениеТоваровУслуг.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)) КАК ВложенныйЗапрос
|
|УПОРЯДОЧИТЬ ПО
| ВложенныйЗапрос.Ссылка,
| НомерСтроки
|ИТОГИ
| СУММА(Сумма)
|ПО
| Ссылка");
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
Запрос.УстановитьПараметр("СвойствоТранспортноеСредство", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Транспортное средство"));
Запрос.УстановитьПараметр("СвойствоВидЛома", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВидЛома"));
Запрос.УстановитьПараметр("СвойствоАктСобств", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("АктСобств"));
Запрос.УстановитьПараметр("СвойствоЗасоренность1", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Засоренность1"));
Запрос.УстановитьПараметр("СвойствоЗасоренность2", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Засоренность2"));
Запрос.УстановитьПараметр("СвойствоЗасоренность3", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Засоренность3"));
Запрос.УстановитьПараметр("СвойствоЗасоренность4", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Засоренность4"));
Запрос.УстановитьПараметр("СвойствоЗасоренность5", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Засоренность5"));
Запрос.УстановитьПараметр("СвойствоЗасоренность6", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Засоренность6"));
Запрос.УстановитьПараметр("СвойствоЗасоренность7", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Засоренность7"));
Запрос.УстановитьПараметр("СвойствоЗасоренность8", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Засоренность8"));
Запрос.УстановитьПараметр("СвойствоЗасоренность9", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Засоренность9"));
Запрос.УстановитьПараметр("СвойствоЗасоренность10", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Засоренность10"));
Запрос.УстановитьПараметр("СвойствоВесБрутто1", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесБрутто1"));
Запрос.УстановитьПараметр("СвойствоВесБрутто2", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесБрутто2"));
Запрос.УстановитьПараметр("СвойствоВесБрутто3", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесБрутто3"));
Запрос.УстановитьПараметр("СвойствоВесБрутто4", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесБрутто4"));
Запрос.УстановитьПараметр("СвойствоВесБрутто5", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесБрутто5"));
Запрос.УстановитьПараметр("СвойствоВесБрутто6", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесБрутто6"));
Запрос.УстановитьПараметр("СвойствоВесБрутто7", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесБрутто7"));
Запрос.УстановитьПараметр("СвойствоВесБрутто8", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесБрутто8"));
Запрос.УстановитьПараметр("СвойствоВесБрутто9", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесБрутто9"));
Запрос.УстановитьПараметр("СвойствоВесБрутто10", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесБрутто10"));
Запрос.УстановитьПараметр("СвойствоВесТары1", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесТары1"));
Запрос.УстановитьПараметр("СвойствоВесТары2", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесТары2"));
Запрос.УстановитьПараметр("СвойствоВесТары3", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесТары3"));
Запрос.УстановитьПараметр("СвойствоВесТары4", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесТары4"));
Запрос.УстановитьПараметр("СвойствоВесТары5", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесТары5"));
Запрос.УстановитьПараметр("СвойствоВесТары6", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесТары6"));
Запрос.УстановитьПараметр("СвойствоВесТары7", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесТары7"));
Запрос.УстановитьПараметр("СвойствоВесТары8", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесТары8"));
Запрос.УстановитьПараметр("СвойствоВесТары9", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесТары9"));
Запрос.УстановитьПараметр("СвойствоВесТары10", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВесТары10"));
МассивРезультатов = Запрос.ВыполнитьПакет();
ДанныеПечати = МассивРезультатов[0].Выбрать();
ВыборкаПоДокументам = МассивРезультатов[1].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ПервыйДокумент = Истина;
//й=0;
Пока ДанныеПечати.Следующий() Цикл
//й=й+1;
//Сообщить(й);
// Найдем в выборке товары по текущему документу
СтруктураПоиска = Новый Структура("Ссылка", ДанныеПечати.Ссылка);
НайденСледующий = ВыборкаПоДокументам.НайтиСледующий(СтруктураПоиска);
// Если в накладной только услуги - перейдем к следующему документу
Если НайденСледующий Тогда
ВыборкаПоТоварам = ВыборкаПоДокументам.Выбрать();
Иначе
Продолжить;
КонецЕсли;
// Макет необходимо получать для каждого документа, т.к. размеры колонок изменяются динамически
Макет = ПолучитьМакет("ПриемоСдаточныйАкт");
//Сообщить(Макет);
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
// Выводим шапку приемо-сдаточного акта
ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаб");
ОбластьМакета.Параметры.ТекстЗаголовка = "Приемо-сдаточный акт № "+ДанныеПечати.Номер+" от "+ Формат(Дата(ДанныеПечати.Дата), "ДФ='дд ММММ гггг'");
ПредставлениеОрг = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата), "ПолноеНаименование, ЮридическийАдрес");
ОбластьМакета.Параметры.ПолучательЛома = ПредставлениеОрг;
Если ДанныеПечати.Контрагент.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
Представление = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата), "ПолноеНаименование, ЮридическийАдрес");
ОбластьМакета.Параметры.ПоставщикЛома = Представление;
Иначе
Представление = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата), "ПолноеНаименование");
ОбластьМакета.Параметры.ПоставщикЛома = Представление;
КонецЕсли;
Представление = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата), "ИНН") + ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата), "КПП");
ОбластьМакета.Параметры.ПоставщикИНН = Представление;
Представление = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата), "НомерСчета,Банк,БИК,КоррСчет");
ОбластьМакета.Параметры.ПоставщикБанк = Представление;
Если ДанныеПечати.Контрагент.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
Иначе
Представление = ФормированиеПечатныхФорм.ОписаниеОрганизации(ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент, ДанныеПечати.Дата), "ЮридическийАдрес");
ОбластьМакета.Параметры.Паспорт = ДанныеПечати.Контрагент.ДополнительнаяИнформация+" ,"+Представление;
КонецЕсли;
ОбластьМакета.Параметры.Транспорт = ДанныеПечати.ТС;
ОбластьМакета.Параметры.Акт = ДанныеПечати.АктСобств;
Описание = ДанныеПечати.ВидЛома;
ОбластьМакета.Параметры.Описание = Описание;
ТабличныйДокумент.Вывести(ОбластьМакета);
Вес = 0;
Сум = 0;
// Выводим строки таблицы Товары
ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаб");
Пока ВыборкаПоТоварам.Следующий() Цикл
ОбластьМакета.Параметры.Вид = ВыборкаПоТоварам.Номенклатура;
ОбластьМакета.Параметры.ВесБрутто = ВыборкаПоТоварам.ВесБрутто;
ОбластьМакета.Параметры.ВесТары = ВыборкаПоТоварам.ВесТары;
ОбластьМакета.Параметры.Засоренность = ВыборкаПоТоварам.Засоренность;
ОбластьМакета.Параметры.Количество = ВыборкаПоТоварам.Количество;
ОбластьМакета.Параметры.Цена = ВыборкаПоТоварам.Цена;
ОбластьМакета.Параметры.Сумма = ВыборкаПоТоварам.Сумма;
Вес = Вес + ВыборкаПоТоварам.Количество;
Сум = Сум + ВыборкаПоТоварам.Сумма;
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЦикла;
// Выводим подвал
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалТаб");
ОбластьМакета.Параметры.Сум = Сум;
ОбластьМакета.Параметры.Вес = Вес;
// Выводим Сумму прописью
ОбластьМакета.Параметры.СумПр = РаботаСКурсамиВалют.СформироватьСуммуПрописью(Сум, ДанныеПечати.Валюта);
ОбластьМакета.Параметры.ВесПр = СформироватьВесПрописью(Вес);
ТабличныйДокумент.Вывести(ОбластьМакета);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
Если ПривилегированныйРежим() Тогда
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;
Возврат ТабличныйДокумент;
КонецФункции // СформироватьПечатнуюФормуПриемоСдаточногоАкта()
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
(7) alljoke, я не совсем понимаю механизм внешних печатных форм (((
эта печатная форма работает если зайти в документ и нажать печать, или то же самое из журнала документов.
Внешняя печатная форма одна и та же... а как она там должна выводиться?
в моем понимании нужно только ее запустить... или нет? а она уже запустит обработку "печать документов" и выведет в нее свою форму печати...