По теме из базы знаний
- Внешние печатные формы Торг-12 и Счет-фактура выданная (согласно Постановлению от 26 декабря 2011 г. N 1137) Для УТ 11
- Практика создания заказной внешней печатной формы для УТ 11.3
- Корректная двусторонняя печать табличных документов + Простой пример создания внешней печатной формы
- Внешняя печатная форма Т-5 (на каждого сотрудника отдельно) для документа Кадровый перевод списком для 1С: ЗУП 3.1.11, 3.1.10
- Внешние печатные формы, БСП 3.1.9, с формой отладки, серверный метод, клиентский целиком и по выделенным строкам табличной части
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Можно написать что угодно и достаточно одной точки, например, "Фигня.ТрудовойДоговор" прекрасно работает. А все изза того что производится поиск в РегистрСведений.ПользовательскиеМакетыПечати, в котором измерениями являются : Объект = Фигня, ИмяМакета = ТрудовойДоговор. После того как программа не нашла аналогов вашей Фигне в этом регистре, она открывает ваш макет ТрудовойДоговор.
Считаю что это должны исправить, т.к. для ВПФ нечего указать в качестве пути. А вы считаете что это должны исправить?
Считаю что это должны исправить, т.к. для ВПФ нечего указать в качестве пути. А вы считаете что это должны исправить?
После обновления
-----------
Как поправить
позвать того , кто обновлял
______
если в вашем внешнем макете ( печатной форме) таблица называлась Общая
но после обновления разрботчики ее назвали Общие
как думаете ? - подхватит печатную форму ?
-----------
Как поправить
позвать того , кто обновлял
______
если в вашем внешнем макете ( печатной форме) таблица называлась Общая
но после обновления разрботчики ее назвали Общие
как думаете ? - подхватит печатную форму ?
раздел Печать
В передаваемых параметрах (шестой) к процедуре ВывестиТабличныйДокументВКоллекцию нужен полный путь до печатной формы.
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ТабличныйДокумент, Картинка, ПолныйПутьКМакету, ИмяФайлаПечатнойФормы)
// Модуль менеджера документа
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Накладная") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"Накладная",
НСтр("ru = 'Реализация товаров'"),
СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати, ПараметрыПечати),
,
"Документ.РеализацияТоваровУслуг.ПФ_MXL_РеализацияТоваров");
КонецЕсли;
КонецПроцедуры
Показать
(6) не совсем понял, внешняя печатная форма расположена в этойже самой внешней обработки, что нужно сдлать чтобы система не ругалась. В приведенном выше примере сылается на нахождение формы в документе.
Так же вопрос, если одна печатная форма (новая, расположена в самой обработке) используется на два документа? то данную функцию нельзя универсально использовать? нужно вместо одной обработки сделать две?
Так же вопрос, если одна печатная форма (новая, расположена в самой обработке) используется на два документа? то данную функцию нельзя универсально использовать? нужно вместо одной обработки сделать две?
я сделал так, сослался на первый попавшийся общий макет в конфе, потом подменил из внешней обработки
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ОбщиеМакеты.ПФ_MXL_Т1") Тогда
ИмяМакета = "ОбщиеМакеты.ПФ_MXL_Т1";
Представление = НСтр("ru='Договор ОМ'");
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
ИмяМакета, Представление,
ТабличныйДокументТрудовойДоговор(
ИмяМакета,
МассивОбъектов,
ОбъектыПечати),
,
"ОбщиеМакеты.ПФ_MXL_Т1");
КонецЕсли;
КонецПроцедуры
Функция ТабличныйДокументТрудовойДоговор(ИмяМакета, МассивОбъектов, ОбъектыПечати)
Макет = ПолучитьМакет("ПФ_MXL_ДоговорМО");
ДокументРезультат = Новый ТабличныйДокумент;
//бла бла бла
Возврат ДокументРезультат;
КонецФункции
Показать
Я поступил следующим образом.
Добавил в расширение УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию с функцией Перед
Теперь печатные формы переделывать не потребуется.
Добавил в расширение УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию с функцией Перед
&Перед("ВывестиТабличныйДокументВКоллекцию")
Процедура Расширение_ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ТабличныйДокумент, Картинка, ПолныйПутьКМакету, ИмяФайлаПечатнойФормы)
Если СтрНайти(ПолныйПутьКМакету,".") = 0 Тогда
ПолныйПутьКМакету = "ОбщиеМакеты.ПФ_MXL_Т1";
КонецЕсли;
КонецПроцедуры
Теперь печатные формы переделывать не потребуется.
Добавьте в расширение процедуру общего модуля УправлениеПечатьюМультиязычность &Вместо("ЯзыкиМакета").
//и будет вам счастье:) не надо будет трогать ни одну форму
Попытка
Результат = ПродолжитьВызов(ПутьКМакету);
Исключение
Возврат Новhttps://infostart.ru/profile/edit/ый Массив;
КонецПопытки;
//и будет вам счастье:) не надо будет трогать ни одну форму
Твоим способом заработает, НО ПРИ ЭТОМ СТАНДАРТНЫЕ ПФ перестанут работать.
НУЖНО ПРОСТО В ОБРАБОТКУ ПРОПИСАТЬ полный муть на макет, например :
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ДоговорПодрядаСБК") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"ДоговорПодрядаСБК", "ДоговорПодрядаСБК",
ПечатьДоговора(МассивОбъектов, ОбъектыПечати),,
"Документ.ДоговорРаботыУслуги.ПФ_MXL_ДыговорПодряда");
КонецЕсли;
КонецПроцедуры
НУЖНО ПРОСТО В ОБРАБОТКУ ПРОПИСАТЬ полный муть на макет, например :
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ДоговорПодрядаСБК") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"ДоговорПодрядаСБК", "ДоговорПодрядаСБК",
ПечатьДоговора(МассивОбъектов, ОбъектыПечати),,
"Документ.ДоговорРаботыУслуги.ПФ_MXL_ДыговорПодряда");
КонецЕсли;
КонецПроцедуры
(23)
Спасибо!
самый рабочий способ оказался)
цедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ДоговорПодрядаСБК") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"ДоговорПодрядаСБК", "ДоговорПодрядаСБК",
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ДоговорПодрядаСБК") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"ДоговорПодрядаСБК", "ДоговорПодрядаСБК",
Спасибо!
самый рабочий способ оказался)
(23)
Помогло - спасибо
мИмяМакета = УказатьНаименованиеКомандыПечати();
мИмяПечатнойФормы = "Документ.ДанныеДляРасчетаЗарплаты.СдельныйНаряд";//УказатьНаименованиеВнешнейПечатнойФормы();
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, мИмяМакета) Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
мИмяМакета,
мИмяПечатнойФормы,
ПечатьСдельногоНаряда(МассивОбъектов,
ОбъектыПечати), ,
мИмяПечатнойФормы);
КонецЕсли;
ПоказатьПомогло - спасибо
(13)
каким тогда должен быть Путь вызова?
Кто за вас должен читать уже написанное:Полный путь к макету должен быть в формате "Документ.ИмяДокумента.ИмяМакетаПФ".
это ВПФ макет зовется "обходнойЛист"
Вот к какому документу вы приклеили свой "обходнойЛист" - такой путь и должен быть.
(16)
{ВнешняяОбработка.ОбходнойЛистПриУвольнении.МодульОбъекта(117)}: Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = ПолучитьМакет("Документ.Увольнение.ОбходнойЛист");
по причине:
Недопустимое значение параметра (параметр номер '1')
Недопустимое значение параметра (параметр номер '1')
Документ.ИмяДокумента
{ВнешняяОбработка.ОбходнойЛистПриУвольнении.МодульОбъекта(117)}: Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = ПолучитьМакет("Документ.Увольнение.ОбходнойЛист");
по причине:
Недопустимое значение параметра (параметр номер '1')
Недопустимое значение параметра (параметр номер '1')
(16)
ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
Макет = ПолучитьМакет("Документ.Увольнение.ОбходнойЛист");
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ОбходнойЛист") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ОбходнойЛист",
НСтр("ru='Обходной лист'"),
ПолучитьТабличныйДокументПриказаТ8(Макет, МассивОбъектов, ОбъектыПечати), ,
"Документ.Увольнение.ОбходнойЛист");
КонецЕсли;
Показать
(19) уже выше ответили:
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СдельныйНаряд",
НСтр("ru = 'Сдельный наряд'"), ПечатьСдельныйНаряд(МассивОбъектов[0], ОбъектыПечати), ,
"Документ.ДанныеДляРасчетаЗарплаты.ИМЯ_своего_макета_ВПФ");
Я в УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию убрала 6 параметр совсем.
А в функции печати оставила
Макет = ПолучитьМакет("Реестр"); Было Макет = ЭтотОбъект.ПолучитьМакет("Реестр");
Заработало. Была такая же проблема.
А в функции печати оставила
Макет = ПолучитьМакет("Реестр"); Было Макет = ЭтотОбъект.ПолучитьМакет("Реестр");
Заработало. Была такая же проблема.
В ВПФ в УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию() добавить запятую. Пример:
Было
Стало
Было
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "УведомлениеОНачалеОтпуска", "Уведомление о начале отпуска",
ПечатьДокумента(ТаблицаСведенийДокумента, ОбъектыПечати),,"Макет");
Стало
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "УведомлениеОНачалеОтпуска", "Уведомление о начале отпуска",
ПечатьДокумента(ТаблицаСведенийДокумента, ОбъектыПечати),,,"Макет");
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот