Особое наименование подразделения для ПКО

Клиент обратился с задачей — в печатной форме ПКО нужно, чтобы наименование подразделения отличалось от других документов.

Было предложено завести новое дополнительное сведение и подставлять его в печатную форму. Я бы использовал дополнительные реквизиты, но у подразделений их нет:

К сожалению код печати в функции ПечатьПКО — это монолит, а я не очень люблю использовать КонтрольИИзменения. Все жду, когда 1С начнет дробить функции-монолиты на части. Ну, а пока решил, что оптимальнее будет поменять текст запроса в функции ПолучитьТекстЗапросаДляФормированияПечатнойФормыПКО менеджера справочника подразделения:

&Вместо("ПолучитьТекстЗапросаДляФормированияПечатнойФормыПКО")
Функция дор_ПолучитьТекстЗапросаДляФормированияПечатнойФормыПКО()                    
	//Осипов 2023-10-26 Чтобы наименование подразделения бралось из доп.сведения подразделения НаименованиеДляПКО
	ТекстЗапроса = ПродолжитьВызов();      

	Маркер = "КОГДА ПриходныйКассовыйОрдер.ПодразделениеОрганизации.НаименованиеПолное";
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
	Маркер, 
	"КОГДА ЕСТЬNULL(ДС.Значение, """") <> """" ТОГДА ДС.Значение" + 
	" " +
	Маркер
	);
	
	Маркер = "Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер";
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
	Маркер, Маркер + 
	" " + 
	"ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДС 
	|ПО ПриходныйКассовыйОрдер.ПодразделениеОрганизации = ДС.Объект И 
	|ДС.Свойство.ИдентификаторДляФормул = ""НаименованиеДляПКО""");
	
	Возврат ТекстЗапроса;
КонецФункции

Среда: Бухгалтерия КОРП 3.0.143.32 Объем: 0.8 час

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *