|
Как обратиться к внешней печатной форме в бухгалтерии 3.0 | ☑ | ||
---|---|---|---|---|
0
Albert Heisenberg
15.01.15
✎
13:43
|
Собственно, сабж.
Есть обработка в бух-ии 2.0, где в ТЗ выносится список ссылок на Счета-фактуры. После чего для каждой выбранной СФ, печатаю ее с помощью внешней печатной формы: Процедура ПечатьСФ(Объект) ДеревоМакетовПечати = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(Объект.Ссылка, Объект.ПолучитьСтруктуруПечатныхФорм()); Макеты = ПреобразоватьДеревоВСписок(ДеревоМакетовПечати); Если Объект.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс Тогда СтрМакета = ДеревоМакетовПечати.Строки.Найти("СПбЦСС_СчетФактура1137 (На аванс)", "Текст"); Иначе СтрМакета = ДеревоМакетовПечати.Строки.Найти("СПбЦСС_СчетФактура1137", "Текст"); КонецЕсли; Если (СтрМакета<>Неопределено) И (СтрМакета.Расшифровка<>Неопределено) И (ТипЗнч(СтрМакета.Расшифровка)=Тип("Структура")) И (СтрМакета.Расшифровка.СсылкаНаВнешнююОбработку<>Неопределено) Тогда ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СчетФактураВыданный_СчетФактура1137"; ТабДокумент = НапечататьВнешнююФорму(Объект.Ссылка, СтрМакета.Расшифровка, НаПечать); УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, 0, НаПечать, ОбщегоНазначения.СформироватьЗаголовокДокумента(Объект, Объект.Метаданные().Представление()), НаПечать, Объект.Ссылка); Иначе Объект.Печать(СтрМакета.Значение, , НаПечать, НаПечать); КонецЕсли; КонецПроцедуры Как реализовать подобное в бухгалтерии 3.0? |
|||
1
Albert Heisenberg
15.01.15
✎
15:45
|
Неужели никто не знает?
Может вопрос не очень понятно сформулировал. Интересуют аналоги функций 2.0 в 3.0. А именно: Эта ДеревоМакетовПечати = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(Объект.Ссылка, Объект.ПолучитьСтруктуруПечатныхФорм()); Эта ТабДокумент = НапечататьВнешнююФорму(Объект.Ссылка, СтрМакета.Расшифровка, НаПечать); И эта УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, 0, НаПечать, ОбщегоНазначения.СформироватьЗаголовокДокумента(Объект, Объект.Метаданные().Представление()), НаПечать, Объект.Ссылка); Если в 3.0 это работает как-то по другому, объясните, пожалуйста как. |
|||
2
Dmitriy_76
15.01.15
✎
15:50
|
модуль УправлениеПечатью не ?
|
|||
3
Albert Heisenberg
15.01.15
✎
16:25
|
(2) Ну да, возможно там и находятся функции, которые мне и нужны, но какие именно? И как они взаимодействуют?
Я нашел сотню гайдов по созданию внешней печатной формы, а как ее программно открыть ни одного. Может быть у Вас были похожие ситуации и Вы могли бы поделиться примером кода или же знаете где можно отыскать описание работы этих функций? Заранее спасибо. |
|||
4
Поpyчик-4
15.01.15
✎
16:43
|
(3) Начать с того, как в БСП формируется список внешних печатных форм для объекта и плясать от него. Удовольствие получите неописуемое.
А впрочем, я чем-то похожим занимался и могу сделать за деньги, если сильно надо. Вам ведь нужно ещё разработать для БП 3 формы счетов-фактур. |
|||
5
Поpyчик-4
15.01.15
✎
16:44
|
Если надумаете, почта в профиле.
|
|||
6
Albert Heisenberg
16.01.15
✎
15:44
|
Решил.
Если кому интересно: ИмяВременногоФайла = ПолучитьИмяВременногоФайла(); ХранилищеОбработки = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("СчетФактура1137Внешняя").ХранилищеОбработки.Получить(); ХранилищеОбработки.Записать(ИмяВременногоФайла); ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяВременногоФайла); Если ВнешняяОбработка = Неопределено Тогда Возврат Ложь; КонецЕсли; ПараметрыРегистрации = ВнешняяОбработка.СведенияОВнешнейОбработке(); КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(ПараметрыРегистрации.Команды[0].Идентификатор); ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода(); ОбъектыМассив = Новый Массив; ОбъектыМассив.Добавить(Док); ОбъектыСписок = Новый СписокЗначений; ОбъектыСписок.Добавить(Док); Попытка ВнешняяОбработка.Печать( ОбъектыМассив, КоллекцияПечатныхФорм, ОбъектыСписок, ПараметрыВывода ); Исключение ОбщегоНазначенияКлиентСервер.СообщитьПользователю( НСтр("ru = 'Ошибка печати: '") + КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); Возврат Ложь; КонецПопытки; Стр = КоллекцияПечатныхФорм[0]; Возврат Стр.ТабличныйДокумент; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |