К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

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

Гость
0 - 15.01.2016 - 10:59
Всем доброго дня.
конфа Управление торговлей, редакция 11.2 (11.2.2.116)
Имеется обработка в которой есть реквизит Объект.ПрихНакл, в которой хранится ссылка на документ ПоступлениеТоваровУслуг, для этого документа прописана внешняя печатная форма "Приемо-сдаточный акт", из документа все печатает. а как эту форму сформировать из обработки, или с любого другого случайного места?



Гость
1 - 15.01.2016 - 11:31
Такие вот специалисты :)
Гость
2 - 15.01.2016 - 11:40
Гость
3 - 15.01.2016 - 12:06
кто не может ни чем помочь посути, можете промолчать)
4 - 15.01.2016 - 13:00
Цитата:
Сообщение от ДонСпециалистДмитрий Посмотреть сообщение
можете промолчать)
Тут интернетный форум, детка, а не линия консультации от 1С. Так что все отвечают в рамках дозволенного.
Гость
5 - 15.01.2016 - 14:32
3-ДонСпециалистДмитрий >Спасибо, что разрешили )
Гость
6 - 15.01.2016 - 14:33
"Ни чем" пишется слитно, "посути" - раздельно.
Гость
7 - 19.01.2016 - 10:10
Сразу видно одни специалисты сидят!!!
Гость
8 - 19.01.2016 - 10:12
Процедура уже написана, она вызывает ВПФ, формируется но не выводит на экран..., кто сталкивался или знает, помогите:

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

Попытка
ИмяВременногоФайла = КаталогВременныхФайлов()+"тмп_впф.epf";
Исключение
Сообщить ("Невозможно создать файл обработке в каталоге временных файлов <<"+
+КаталогВременныхФайлов()+">>. Возможно, не хватает прав доступа в Windows в папку для данного сеанса 1С ");
Возврат;
КонецПопытки;

ДвоичныеДанные = СсылкаНаВПФ.ХранилищеОбработки.Получить();
ДвоичныеДанные.Записать(ИмяВременногоФайла);

Попытка
ОбрОбъект = ВнешниеОбработки.Создать(ИмяВременногоФайла);
//ОбрОбъект.ДокОбъект = ЭтотОбъект; // НЕ исп. метод скопировать. Передать ТАК - особенности ВДГБ;
Исключение
Сообщить("Ошибка создания объекта из временного файла обработки "+ИмяВременногоФайла);
Возврат;
КонецПопытки;

МассивОбъектовНазначения = Новый Массив;
МассивОбъектовНазначения.Добавить(Объект.ПрихНакл) ;

ОбъектыПечати = Новый СписокЗначений;

КоллекцияПечатныхФорм = Новый ТаблицаЗначений;
КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета" );
КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ");
КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМак ета");
КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйД окумент");
КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляро в");
КоллекцияПечатныхФорм.Колонки.Добавить("Картинка") ;
КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПуть КМакету");
КоллекцияПечатныхФорм.Колонки.Добавить("ИмяФайлаПе чатнойФормы");
стр=КоллекцияПечатныхФорм.Добавить();
стр.ИмяМакета="ПриемоСдаточныйАкт";
стр.ИмяВРЕГ="ПРИЕМОСДАТОЧНЫЙАКТ";
стр.Экземпляров=1;

//ИмяМакета=ПриемоСдаточныйАкт, ИмяВРЕГ=ПРИЕМОСДАТОЧНЫЙАКТ, СинонимМакета=, ТабличныйДокумент=, Экземпляров=1, Картинка=, ПолныйПутьКМакету=, ИмяФайлаПечатнойФормы=,

// Проба печати
Попытка
ОбрОбъект.печать(МассивОбъектовНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, Ложь);
//ТаблДок.Вывести();
Исключение
А=1; // Точка останова для отладки!
Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОб Ошибке() )); // ВНЕШНЮЮ печатную форму из справончика ВПФ можно спокойно поправить!
КонецПопытки;

КонецПроцедуры
Гость
9 - 19.01.2016 - 12:22
Гость
10 - 19.01.2016 - 15:26
это точно, кто-то модули пишет и пытается решение найти, а кто-то картинки постит)))

А ответ оказался очень простой))

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

ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);


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


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены