Каталог решений - Печать непроведенных документов в УТ 11

Печать непроведенных документов в УТ 11

Печать непроведенных документов в УТ 11

В наличии

Еще одна интерпретация расширения для решения проблемы печати не проведённых документов.

Категория:

Описание

Опробовав несколько расширений с форума, столкнулся с тем, что не все отрабатывали корректно, или работали со всеми документами. В итоге появился повод самому попробовать написать расширение.

Как итог получилось найти процедуру, корректировка которой дала возможность печатать вообще любой документ без проверки проведения, этот вариант оказался для нас самым приемлемым.

Расширение протестировано на платформе: 8.3.22 , Релиз Управление торговлей, редакция 11 (11.5.9.131) 

При подключении расширения в обязательном порядке отключайте безопасный режим

Делюсь с вами.

Печать непроведенных документов в УТ 11

Печать непроведенных документов в УТ 11

В наличии

Печать непроведенных документов (в частности, из внешних печатных форм).

Категория:

Описание

Столкнулся я с забавной историей — в УТ 11 большинство печатных форм документов перед формированием требуют проведения документа. Кое-где это оправдано (когда используются данные, получаемые при проведении или движения документов), кое-где, наверно, нет. У меня, в частности, встал вопрос о печати документа "УстановкаЦенНоменклатуры", да еще и разработанной внешней формой (через дополнительные обработки). 

Некоторое время я гуглил, нашел несколько толковых статей. Наверно, самая подробная вот Печать непроведенных документов (через расширение). Однако, я столкнулся с тем, что, независимо от флагов в параметрах (ни "ПроверкаПроведенияПередПечатью", ни "РежимЗаписи"), если это печатная форма внешняя, УТ все равно хотела проведенности.

Спасибо доброму человеку из комментариев вышеприведенной статьи (dexxxqqq), я-таки нашел, где это обойти, ну и чтобы кому-то еще это помогло, далее привожу код.

Это делалось мной через расширение конфигурации — модуль "УправлениеПечатьюСлужебныйКлиент"

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

тут "ВашИденификаторИзМодуляОбработки" — это то, как вы назвали "ИдентификаторКоманды" в функции "СведенияОВнешнейОбработке()".

Тестировалось на:

1С:Предприятие 8.3 (8.3.17.1549)

Управление торговлей, редакция 11 (11.4.13.51) 

Windows 7 x64 и Windows Server 2008 R2 (опять же, если это важно).

has been added to your cart:
Оформление заказа