Столкнулся я с забавной историей - в УТ 11 большинство печатных форм документов перед формированием требуют проведения документа. Кое-где это оправдано (когда используются данные, получаемые при проведении или движения документов), кое-где, наверно, нет. У меня, в частности, встал вопрос о печати документа "УстановкаЦенНоменклатуры", да еще и разработанной внешней формой (через дополнительные обработки).
Некоторое время я гуглил, нашел несколько толковых статей. Наверно, самая подробная вот Печать непроведенных документов (через расширение). Однако, я столкнулся с тем, что, независимо от флагов в параметрах (ни "ПроверкаПроведенияПередПечатью", ни "РежимЗаписи"), если это печатная форма внешняя, УТ все равно хотела проведенности.
Спасибо доброму человеку из комментариев вышеприведенной статьи (dexxxqqq), я-таки нашел, где это обойти, ну и чтобы кому-то еще это помогло, далее привожу код.
Это делалось мной через расширение конфигурации - модуль "УправлениеПечатьюСлужебныйКлиент"
&Вместо("ВыполнитьОткрытиеПечатнойФормы")
Процедура _тратата_ВыполнитьОткрытиеПечатнойФормы(ИсточникДанных, ИдентификаторКоманды, ОбъектыНазначения, Форма, СтандартнаяОбработка) Экспорт
Если (ИдентификаторКоманды = "ВашИденификаторИзМодуляОбработки") Тогда
врПараметры = Новый Структура;
врПараметры.Вставить("Форма", Форма);
врПараметры.Вставить("ИсточникДанных", ИсточникДанных);
врПараметры.Вставить("ИдентификаторКоманды", ИдентификаторКоманды);
ВыполнитьОткрытиеПечатнойФормыЗавершение(ОбъектыНазначения, врПараметры);
Иначе
//__ если эта форма нас не интересует, то пусть идет, как и шла
ПродолжитьВызов(ИсточникДанных, ИдентификаторКоманды, ОбъектыНазначения, Форма, СтандартнаяОбработка);
КонецЕсли;
КонецПроцедуры
тут "ВашИденификаторИзМодуляОбработки" - это то, как вы назвали "ИдентификаторКоманды" в функции "СведенияОВнешнейОбработке()".
Тестировалось на:
1С:Предприятие 8.3 (8.3.17.1549)
Управление торговлей, редакция 11 (11.4.13.51)
Windows 7 x64 и Windows Server 2008 R2 (опять же, если это важно).