v8.3: Как программно сформировать внешнюю печатную форму документа Всем доброго дня. конфа Управление торговлей, редакция 11.2 (11.2.2.116) Имеется обработка в которой есть реквизит Объект.ПрихНакл, в которой хранится ссылка на документ ПоступлениеТоваровУслуг, для этого документа прописана внешняя печатная форма "Приемо-сдаточный акт", из документа все печатает. а как эту форму сформировать из обработки, или с любого другого случайного места? |
Такие вот специалисты :) |
[img]http://lpmotor.s3.amazonaws.com/1/c/5/1c500daca26c8729745186d8c94ef54f.jpg[/img] |
кто не может ни чем помочь посути, можете промолчать) |
[quote=ДонСпециалистДмитрий;41140237]можете промолчать) [/quote] Тут интернетный форум, детка, а не линия консультации от 1С. Так что все отвечают в рамках дозволенного. |
3-ДонСпециалистДмитрий >Спасибо, что разрешили ) |
"Ни чем" пишется слитно, "посути" - раздельно. |
Сразу видно одни специалисты сидят!!! |
Процедура уже написана, она вызывает ВПФ, формируется но не выводит на экран..., кто сталкивался или знает, помогите: Процедура ПечатьИзВПФ(ИмяВПФ); // СсылкаНаВПФ = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяВПФ); Если СсылкаНаВПФ.Пустая() Тогда Сообщить("В справочнике 'Внешние обработки' не нашли внешнюю печатную форму с наименованием '"+ИмяВПФ+"'"); Возврат; КонецЕсли; Попытка ИмяВременногоФайла = КаталогВременныхФайлов()+"тмп_впф.epf"; Исключение Сообщить ("Невозможно создать файл обработке в каталоге временных файлов <<"+ +КаталогВременныхФайлов()+">>. Возможно, не хватает прав доступа в Windows в папку для данного сеанса 1С "); Возврат; КонецПопытки; ДвоичныеДанные = СсылкаНаВПФ.ХранилищеОбработки.Получить(); ДвоичныеДанные.Записать(ИмяВременногоФайла); Попытка ОбрОбъект = ВнешниеОбработки.Создать(ИмяВременногоФайла); //ОбрОбъект.ДокОбъект = ЭтотОбъект; // НЕ исп. метод скопировать. Передать ТАК - особенности ВДГБ; Исключение Сообщить("Ошибка создания объекта из временного файла обработки "+ИмяВременногоФайла); Возврат; КонецПопытки; МассивОбъектовНазначения = Новый Массив; МассивОбъектовНазначения.Добавить(Объект.ПрихНакл); ОбъектыПечати = Новый СписокЗначений; КоллекцияПечатныхФорм = Новый ТаблицаЗначений; КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета"); КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ"); КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета"); КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент"); КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров"); КоллекцияПечатныхФорм.Колонки.Добавить("Картинка"); КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету"); КоллекцияПечатныхФорм.Колонки.Добавить("ИмяФайлаПечатнойФормы"); стр=КоллекцияПечатныхФорм.Добавить(); стр.ИмяМакета="ПриемоСдаточныйАкт"; стр.ИмяВРЕГ="ПРИЕМОСДАТОЧНЫЙАКТ"; стр.Экземпляров=1; //ИмяМакета=ПриемоСдаточныйАкт, ИмяВРЕГ=ПРИЕМОСДАТОЧНЫЙАКТ, СинонимМакета=, ТабличныйДокумент=, Экземпляров=1, Картинка=, ПолныйПутьКМакету=, ИмяФайлаПечатнойФормы=, // Проба печати Попытка ОбрОбъект.печать(МассивОбъектовНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, Ложь); //ТаблДок.Вывести(); Исключение А=1; // Точка останова для отладки! Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке() )); // ВНЕШНЮЮ печатную форму из справончика ВПФ можно спокойно поправить! КонецПопытки; КонецПроцедуры |
[img]http://otvet.imgsmail.ru/download/bebdde1c540a1df39f5cc9d8834ab1e5_i-2093.jpg[/img] |
[quote=Helen1986;41177214] [/quote] это точно, кто-то модули пишет и пытается решение найти, а кто-то картинки постит))) А ответ оказался очень простой)) ВыполняемаяОбработка=НайтиВПФ(); Если ВыполняемаяОбработка.Пустая() Тогда Возврат; КонецЕсли; ОбъектыНазначения=Новый Массив; ОбъектыНазначения.Добавить(Объект.ПрихНакл); ПараметрыОткрытия=Новый Структура("ИсточникДанных, ПараметрыИсточника"); ПараметрыОткрытия.ИсточникДанных=ВыполняемаяОбработка; ПараметрыОткрытия.ПараметрыИсточника=Новый Структура("ИдентификаторКоманды, ОбъектыНазначения"); ПараметрыОткрытия.ПараметрыИсточника.ИдентификаторКоманды="ПриемоСдаточныйАкт"; ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения=ОбъектыНазначения; ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия); код должен выполняться на клиенте, а функция НайтиВПФ() - должны быть на сервере и возвращать ссылку из Справочники.ДополнительныеОтчетыИОбработки |
Текущее время: 15:07. Часовой пояс GMT +3. |