Печать не проведенного документа для внешней формы
1.
doctorov_s
42
01.09.26 14:37
Сейчас в теме
Добрый день. Подскажите, может кто-то уже разбирался с данной проблемой: После обновления перестала печататься внешняя форма без проведения документа, хотя до этого все нормально работало. Как решить данную проблему?
УНФ 3.0.14.123
печатная форма для документа "Заказ покупателя"
Спасибо
УНФ 3.0.14.123
печатная форма для документа "Заказ покупателя"
Спасибо
По теме из базы знаний
- Новая форма УПД, УКД и Счет-фактура с 1 апреля 2026 г. для Управление торговлей 10.3, 11.1, 11.2, 11.3, 11.4, 11.5; Комплексная автоматизация 1.1, 2.4, 2.5; ЕРП 2.4, 2.5; Бухгалтерия предприятия 2.0, 3.0, УНФ, Розница 2.3, 3.0, УПП 1.3 425-ФЗ
- Отмена регистрации документов в плане обмена за выбранный период для любой конфигурации 1С 8 на управляемых формах
- Дата последней активности пользователей в 1С. Для всех конфигураций на БСП
- Универсальное удаление проводок документов без отмены проведения документов для любых конфигураций 1С
- История изменения реквизитов в документах и справочниках с отборами. Для 1С: УТ 11.5, КА 2.5, ЕРП, УНФ 3, Розница 3, БП 3, ЗУП 3
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) чтобы печатать из непроведенного документа, печатные формы надо делать немного по другому. Не так, как стандартные ВПФ. Пробрасывать через клиента и вызывать типовую форму печати документов через клиента.
Для этого надо в сведениях о внешней обработки вызывать клиентский метод, открытие формы
далее, делаем форму этой обработки, на которой можно ничего не рисовать..
главное чтобы в ней была экспортная процедура Печать.. аналогичная, той, которая у нас была бы в модуле объекта, если бы мы по стандартной схеме делали.
В общем на форме, примерно так.
И мы через форму обработки, открываем напрямую общую форму печать документов, в обход проверок проведенности. И можно обойтись без всяких расширений и модификаций основной конфы.
Возможно на последних БСП уже появились параметры управления этим, я не проверял - повода не было..также знаю что в УНФ - там была своя БСП, в которой были отличия от того что в УТ,КА,ERP - но принцип должен быть таким же, просто надо поковыряться отладчиком.
Этот пример, реальный я его делал когда-то для ЗУП. Также по этому же принципу делал и для УТ.
Для этого надо в сведениях о внешней обработки вызывать клиентский метод, открытие формы
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.Отпуск");
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", НСтр("ru = 'ВПФ Приказ о предоставлении отпуска (Т-6)'"));
ПараметрыРегистрации.Вставить("Версия", "1.1");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Информация", НСтр("ru = 'ВПФ Приказ о предоставлении отпуска (Т-6) печатает даже непроведенные документы'"));
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд,
НСтр("ru = 'ВПФ Приказ о предоставлении отпуска (Т-6)'"),
"ПФ_MXL_Т6",
"ВызовКлиентскогоМетода",
Истина,
"ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции // СведенияОВнешнейОбработке()
Показатьдалее, делаем форму этой обработки, на которой можно ничего не рисовать..
главное чтобы в ней была экспортная процедура Печать.. аналогичная, той, которая у нас была бы в модуле объекта, если бы мы по стандартной схеме делали.
В общем на форме, примерно так.
&НаКлиенте
Процедура Печать(ИдентификаторКоманды,ОбъектыНазначенияМассив) Экспорт
ПечатьПродолжение(ИдентификаторКоманды,ОбъектыНазначенияМассив);
КонецПроцедуры
&НаКлиенте
Процедура ПечатьПродолжение(ИдентификаторКоманды,ОбъектыНазначенияМассив)
ПараметрыОткрытия = Новый Структура("ИсточникДанных, ПараметрыИсточника");
ПараметрыОткрытия.ИсточникДанных = Параметры.ДополнительнаяОбработкаСсылка;
ПараметрыОткрытия.ПараметрыИсточника = Новый Структура("ИдентификаторКоманды, ОбъектыНазначения");
ПараметрыОткрытия.ПараметрыИсточника.ИдентификаторКоманды = ИдентификаторКоманды;
ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения = ОбъектыНазначенияМассив;
ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);
КонецПроцедуры
ПоказатьИ мы через форму обработки, открываем напрямую общую форму печать документов, в обход проверок проведенности. И можно обойтись без всяких расширений и модификаций основной конфы.
Возможно на последних БСП уже появились параметры управления этим, я не проверял - повода не было..также знаю что в УНФ - там была своя БСП, в которой были отличия от того что в УТ,КА,ERP - но принцип должен быть таким же, просто надо поковыряться отладчиком.
Этот пример, реальный я его делал когда-то для ЗУП. Также по этому же принципу делал и для УТ.
2.
doctorov_s
42
01.09.26 16:39
Сейчас в теме
Причем стандартные печатные формы работают без проблем
5.
SweetSweetLoot
02.09.26 08:05
Сейчас в теме
КомандаПечати.ПроверкаПроведенияПередПечатью = Ложь; // Разрешить печать непроведенного
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот