Запрет печати УПД на подчиненных узлах УТ 11.6
Опять 1С нас радует шедеврами свое псевдологики.
В коде 1С было найдено «прекрасное» в процедуре ПолучитьДанныеДляПечатнойФормыСчетФактура модуля менеджера документа СчетФактураВыданный:
// В подчиненном узле нет всех данных для определения авансов, поэтому заполняем только если главный узел: ЗаполнятьПлатежноРасчетныеДокументы = ПланыОбмена.ГлавныйУзел() = Неопределено; Если ЗаполнятьПлатежноРасчетныеДокументы Тогда ПоместитьВременнуюТаблицуЗаполненияПлатежноРасчетныхДокументов(МенеджерВременныхТаблиц); МассивАналитикУчетаПоПартнерамПлатежноРасчетныхДокументов = АналитикиУчетаПоПартнерамДляАктуализацииПлатежноРасчетныхДокументов(МенеджерВременныхТаблиц); ОбщегоНазначенияКлиентСервер.ДополнитьМассив(МассивАналитикУчетаПоПартнерам, МассивАналитикУчетаПоПартнерамПлатежноРасчетныхДокументов); ОкончаниеПериодаРасчета = КонецРасчетаДляАктуализацииПлатежноРасчетныхДокументов(МенеджерВременныхТаблиц); КонецЕсли;
В итоге на периферийных базах не заполняется таблица ТаблицаПлатежноРасчетныеДокументы.
Что приводит к ошибке, что УПД из счет-фактуры или реализации не печатается:
Ошибка при вызове метода контекста (ВыполнитьПакет)
{Документ.СчетФактураВыданный.МодульМенеджера(8954)}: МассивРезультатов = Запрос.ВыполнитьПакет();
{Документ.СчетФактураВыданный.МодульМенеджера(9158)}: Возврат ПолучитьДанныеДляПечатнойФормыСчетФактура(ПараметрыПечати, МассивОбъектов);
{Обработка.ПечатьОбщихФорм.МодульМенеджера(3599)}: ДанныеДляПечати = МенеджерОбъекта.ПолучитьДанныеДляПечатнойФормыУПД(ПараметрыПечати, СтруктураОбъектов.Значение);
{Обработка.ПечатьОбщихФорм.МодульМенеджера(214)}: НСтр("ru='Универсальный передаточный документ (УПД)'"),
{ОбщийМодуль.УправлениеПечатью.Модуль(4409)}: МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ПараметрыПечати, ВременнаяКоллекцияДляОднойПечатнойФормы,
{ОбщаяФорма.ПечатьДокументов.Форма(792)}: ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(Параметры.ИмяМенеджераПечати, ИменаМакетов,
{ОбщаяФорма.ПечатьДокументов.Форма(61)}: КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(378)}: ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор));
{ОбщийМодуль.УправлениеПечатьюГлобальный.Модуль(13)}: УправлениеПечатьюСлужебныйКлиент.ПродолжитьВыполнениеКомандыПечати();
по причине:
{(267, 2)}: Несовместимые типы "ЕСТЬNULL"
<<?>>ЕСТЬNULL(ТаблицаПлатежноРасчетныеДокументы.СтрокаПлатежноРасчетныеДокументы,
Кто так пишет? Это очередной позор!
Ну если нельзя печатать УПД на филиалах, то выдайте об этом сообщение, а не ошибку. Или печатайте без платежных документов… Но не вот так же…
Сделал заплатку через контроль и изменение:

Среда: УТ 11.6.1.53. Объем: 0.5 час
