Перейти к содержимому

Перейти
Перейти

v8.3: Как программно сформировать внешнюю печатную форму документа

ут11 8.3

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1   Дмитрий Котляров

Дмитрий Котляров

      Рядовой

    • Пользователи
    • Сообщений: 6
    • Регистрация: 29-September 15

Отправлено 15 January 2016 - 09:49

Имеется обработка в которой есть реквизит Объект.ПрихНакл, в которой хранится ссылка на документ ПоступлениеТоваровУслуг, для этого документа прописана внешняя печатная форма "Приемо-сдаточный акт", из документа все печатает. а как эту форму сформировать из обработки, или с любого другого случайного места?


  • 1

#2   Дмитрий Котляров

Дмитрий Котляров

      Рядовой

    • Пользователи
    • Сообщений: 6
    • Регистрация: 29-September 15

Отправлено 19 January 2016 - 09:05

Печатная форма запускается, формируется, но не выводиться на экран?

подскажите где копать?

 

Уже есть процедура для вызова внешней обработки:

Процедура ПечатьИзВПФ(ИмяВПФ);  //
    СсылкаНаВПФ = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяВПФ);
    Если СсылкаНаВПФ.Пустая() Тогда
        Сообщить("В справочнике 'Внешние обработки' не нашли внешнюю печатную форму с наименованием '"+ИмяВПФ+"'");
        Возврат;
    КонецЕсли;
        
    Попытка
        ИмяВременногоФайла = КаталогВременныхФайлов()+"тмп_впф.epf";
    Исключение
        Сообщить ("Невозможно создать файл обработке в каталоге временных файлов <<"+
        +КаталогВременныхФайлов()+">>. Возможно, не хватает прав доступа в Windows в папку для данного сеанса 1С ");
        Возврат;
    КонецПопытки;    
    
    ДвоичныеДанные = СсылкаНаВПФ.ХранилищеОбработки.Получить();        
    ДвоичныеДанные.Записать(ИмяВременногоФайла);
    
    Попытка
        ОбрОбъект = ВнешниеОбработки.Создать(ИмяВременногоФайла);
        //ОбрОбъект.ДокОбъект = ЭтотОбъект; // НЕ исп. метод скопировать. Передать ТАК - особенности ВДГБ;
    Исключение
        Сообщить("Ошибка создания объекта из временного файла обработки "+ИмяВременногоФайла);
        Возврат;
    КонецПопытки;
    
    МассивОбъектовНазначения = Новый Массив;
    МассивОбъектовНазначения.Добавить(Объект.ПрихНакл);
	
	 ОбъектыПечати =    Новый СписокЗначений;
	 
	 КоллекцияПечатныхФорм = Новый ТаблицаЗначений;
	 КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета");
	 КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ");
	 КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета");
	 КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент");
	 КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров");
	 КоллекцияПечатныхФорм.Колонки.Добавить("Картинка");
	 КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету");
	 КоллекцияПечатныхФорм.Колонки.Добавить("ИмяФайлаПечатнойФормы");
	 стр=КоллекцияПечатныхФорм.Добавить();
	 стр.ИмяМакета="ПриемоСдаточныйАкт";
	 стр.ИмяВРЕГ="ПРИЕМОСДАТОЧНЫЙАКТ";
	 стр.Экземпляров=1;
	 
	 //ИмяМакета=ПриемоСдаточныйАкт, ИмяВРЕГ=ПРИЕМОСДАТОЧНЫЙАКТ, СинонимМакета=, ТабличныйДокумент=, Экземпляров=1, Картинка=, ПолныйПутьКМакету=, ИмяФайлаПечатнойФормы=,
	 
	// Проба печати
    Попытка
        ОбрОбъект.печать(МассивОбъектовНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, Ложь);
        //ТаблДок.Вывести();
    Исключение
        А=1; // Точка останова для отладки!
        Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке() )); // ВНЕШНЮЮ печатную форму из справончика ВПФ можно спокойно поправить!
    КонецПопытки;    
            
КонецПроцедуры    

и вот модуль самой внешней печатной формы:

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры

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

//&НаКлиенте
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.ПоступлениеТоваровУслуг"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Приемо-сдаточный акт"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Приемо-сдаточный акт");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Приемо-сдаточный акт", "ПриемоСдаточныйАкт", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;
КонецФункции

// Функция формирует представление веса
//
// Параметры:
// чВес - Число - Вес в тоннах, который надо представить прописью
//
// Возвращаемое значение:
// Строка - вес прописью
//
Функция СформироватьВесПрописью(Знач чВес) Экспорт //Нетиповое

ВесПрописью = "";
КолвоТонн = Цел(чВес);
Если КолвоТонн <> 0 Тогда
ФорматСтрока = "Л=ru_RU; НП=Истина; НД=Истина; ДП=Истина";
ПарПредмета = "тонна,тонны,тонн,ж,кг,кг,кг,м,3";
ВесПрописью = ЧислоПрописью(чВес, ФорматСтрока, ПарПредмета);
Иначе
чВес = чВес * 1000;
ФорматСтрока = "Л=ru_RU; НП=Истина; НД=Ложь; ДП=Ложь";
ПарПредмета = "кг,кг,кг,м,,,,,0";
ВесПрописью = ЧислоПрописью(чВес, ФорматСтрока, ПарПредмета);
КонецЕсли;
Возврат(ВесПрописью);

КонецФункции // СформироватьВесПрописью()

// Функция формирует печатную форму Приемо-сдаточный акт документа.
//
Функция СформироватьПечатнуюФормуПриемоСдаточногоАкта(МассивОбъектов, ОбъектыПечати) Экспорт //Нетиповое

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

ИспользоватьРучныеСкидки = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВЗакупках");

ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПоступлениеТоваровУслуг_Акт";

Запрос = Новый Запрос("ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Ссылка КАК Ссылка,
| ПоступлениеТоваровУслуг.Номер КАК Номер,
| ПоступлениеТоваровУслуг.Дата КАК Дата,
| ПоступлениеТоваровУслуг.Контрагент КАК Контрагент,
| ПоступлениеТоваровУслуг.Организация КАК Организация,
| ПоступлениеТоваровУслуг.Валюта КАК Валюта,
| ТранспортноеСредство.Значение КАК ТС,
| ВидЛома.Значение КАК ВидЛома,
| АктСобств.Значение КАК АктСобств
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Значение КАК Значение,
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Ссылка КАК Ссылка
| ИЗ
| Документ.ПоступлениеТоваровУслуг.ДополнительныеРеквизиты КАК ПоступлениеТоваровУслугДополнительныеРеквизиты
| ГДЕ
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Свойство = &СвойствоТранспортноеСредство
| И ПоступлениеТоваровУслугДополнительныеРеквизиты.Ссылка В(&МассивДокументов)) КАК ТранспортноеСредство
| ПО ПоступлениеТоваровУслуг.Ссылка = ТранспортноеСредство.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Ссылка КАК Ссылка,
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Значение КАК Значение
| ИЗ
| Документ.ПоступлениеТоваровУслуг.ДополнительныеРеквизиты КАК ПоступлениеТоваровУслугДополнительныеРеквизиты
| ГДЕ
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Свойство = &СвойствоВидЛома
| И ПоступлениеТоваровУслугДополнительныеРеквизиты.Ссылка В(&МассивДокументов)) КАК ВидЛома
| ПО ПоступлениеТоваровУслуг.Ссылка = ВидЛома.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Значение КАК Значение,
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Ссылка КАК Ссылка
| ИЗ
| Документ.ПоступлениеТоваровУслуг.ДополнительныеРеквизиты КАК ПоступлениеТоваровУслугДополнительныеРеквизиты
| ГДЕ
| ПоступлениеТоваровУслугДополнительныеРеквизиты.Ссылка В(&МассивДокументов)
| И ПоступлениеТоваровУслугДополнительныеРеквизиты.Свойство = &СвойствоАктСобств) КАК АктСобств
| ПО ПоступлениеТоваровУслуг.Ссылка = АктСобств.Ссылка
|ГДЕ
| ПоступлениеТоваровУслуг.Ссылка В(&МассивДокументов)
| И ПоступлениеТоваровУслуг.Проведен
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВложенныйЗапрос.Ссылка КАК Ссылка,
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.Характеристика КАК Характеристика,
| ВложенныйЗапрос.ВесБрутто КАК ВесБрутто,
| ВложенныйЗапрос.Цена КАК Цена,
| ВложенныйЗапрос.Количество КАК Количество,
| ВложенныйЗапрос.Сумма КАК Сумма,
| ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
| ВложенныйЗапрос.ВесТары КАК ВесТары,
| ВложенныйЗапрос.Засоренность КАК Засоренность
|ИЗ
| (ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Ссылка КАК Ссылка,
| ПоступлениеТоваровУслуг.Номенклатура КАК Номенклатура,
| ВЫБОР
| КОГДА ПоступлениеТоваровУслуг.НомерСтроки = 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;

// Выводим строки таблицы Товары
ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаб");

Пока ВыборкаПоТоварам.Следующий() Цикл

ОбластьМакета.Параметры.Вид = ВыборкаПоТоварам.Номенклатура;
ОбластьМакета.Параметры.ВесБрутто = ВыборкаПоТоварам.ВесБрутто;
ОбластьМакета.Параметры.ВесТары = ВыборкаПоТоварам.ВесТары;
ОбластьМакета.Параметры.Засоренность = ВыборкаПоТоварам.Засоренность;
ОбластьМакета.Параметры.Количество = ВыборкаПоТоварам.Количество;
ОбластьМакета.Параметры.Цена = ВыборкаПоТоварам.Цена;
ОбластьМакета.Параметры.Сумма = ВыборкаПоТоварам.Сумма;
Вес = Вес + ВыборкаПоТоварам.Количество;
Сум = Сум + ВыборкаПоТоварам.Сумма;
ТабличныйДокумент.Вывести(ОбластьМакета);

КонецЦикла;

// Выводим подвал
ОбластьМакета = Макет.ПолучитьОбласть("ПодвалТаб");
ОбластьМакета.Параметры.Сум = Сум;
ОбластьМакета.Параметры.Вес = Вес;

// Выводим Сумму прописью
ОбластьМакета.Параметры.СумПр = РаботаСКурсамиВалют.СформироватьСуммуПрописью(Сум, ДанныеПечати.Валюта);
ОбластьМакета.Параметры.ВесПр = СформироватьВесПрописью(Вес);

ТабличныйДокумент.Вывести(ОбластьМакета);

УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);

КонецЦикла;

ТабличныйДокумент.АвтоМасштаб = Истина;

Если ПривилегированныйРежим() Тогда
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;

Возврат ТабличныйДокумент;

КонецФункции // СформироватьПечатнуюФормуПриемоСдаточногоАкта()

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
//Сообщить(МассивОбъектов);
тхтстр=""+МассивОбъектов+": ";
Для й=0 по МассивОбъектов.Количество()-1 Цикл
тхтстр=тхтстр+МассивОбъектов[й];
КонецЦикла;
Сообщить(тхтстр);

//КоллекцияПечатныхФорм.НайтиЗначение(111);
Для каждого стр из КоллекцияПечатныхФорм Цикл
колонкиТЗ=КоллекцияПечатныхФорм.колонки;
тхтстр="КоллекцияПечатныхФорм: ";
Для каждого колонка Из колонкиТЗ Цикл
тхтстр=тхтстр+колонка.Имя+"="+стр[колонка.Имя]+", ";
КонецЦикла;
Сообщить(тхтстр);
КонецЦикла;

Сообщить("ОбъектыПечати:"+ОбъектыПечати+" (Кол="+ОбъектыПечати.Количество()+")");
Для каждого стр из ОбъектыПечати Цикл
//колонкиТЗ=ОбъектыПечати.колонки;
//тхтстр="ОбъектыПечати: ("+ОбъектыПечати+")";
//Для каждого колонка Из колонкиТЗ Цикл
// тхтстр=тхтстр+колонка.Имя+"="+стр[колонка.Имя]+", ";
//КонецЦикла;
Сообщить(стр);
КонецЦикла;

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПриемоСдаточныйАкт", "Приемо-сдаточный акт", СформироватьПечатнуюФормуПриемоСдаточногоАкта(МассивОбъектов[0], ОбъектыПечати));
КонецПроцедуры // Печать()

 

 

 


  • 0

#3   Дмитрий Котляров

Дмитрий Котляров

      Рядовой

    • Пользователи
    • Сообщений: 6
    • Регистрация: 29-September 15

Отправлено 19 January 2016 - 14:23

Имеется обработка в которой есть реквизит Объект.ПрихНакл, в которой хранится ссылка на документ ПоступлениеТоваровУслуг, для этого документа прописана внешняя печатная форма "Приемо-сдаточный акт", из документа все печатает. а как эту форму сформировать из обработки, или с любого другого случайного места?

 

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

ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);
 
код должен выполняться на клиенте, а функция НайтиВПФ() - должны быть на сервере и возвращать ссылку из Справочники.ДополнительныеОтчетыИОбработки

Сообщение отредактировал Дмитрий Котляров: 19 January 2016 - 14:24

  • 1



Похожие темы

  Название темы Автор Статистика Последнее сообщение



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных