Свои цены и ячейки в печати ценников в УТ 11.4

Сделал по аналогии со своим методом.

Менял прямо в коде модуля, не в расширении, потому что все равно давно не обновляли конфигурацию.

Сделал замену текстового поля $Цена2 на оптовую цену и $Ячейка на основную ячейку размещения:

//Осипов +++ замена цены
ИскОбласть = Область.НайтиТекст("$Цена2",,,,ложь,,ложь); //ищем не целиком, с учетом регистра
Если ИскОбласть <> Неопределено Тогда
	
	Цена = _Сервер.ПолучитьЦенуНоменклатурыПоИдентификатору(СтрокаТовары.Номенклатура, "ОптоваяЦена");
	
	НовыйТекст = Формат(Цена, "ЧДЦ=0; ЧН=");
	ИскОбласть.Текст = СтрЗаменить(ИскОбласть.Текст, "$Цена2", НовыйТекст);
	
КонецЕсли; //Конец ---
	
//Осипов +++ замена ячейки
ИскОбласть = Область.НайтиТекст("$Ячейка",,,,ложь,,ложь); //ищем не целиком, с учетом регистра
Если ИскОбласть <> Неопределено Тогда
	
	НовыйТекст = _Сервер.ПолучитьЯчейкуНоменклатуры(СтрокаТовары.Номенклатура);
	ИскОбласть.Текст = СтрЗаменить(ИскОбласть.Текст, "$Ячейка", НовыйТекст);
	
КонецЕсли; //Конец ---    


Функция ПолучитьЦенуНоменклатурыПоИдентификатору(Номенклатура, ИдентификаторВидаЦены) Экспорт
//ИдентификаторВидаЦены - РозничнаяЦена, ОптоваяЦена	
	
	З = Новый Запрос(
	"ВЫБРАТЬ
	|	Т.Цена КАК Цена
	|ИЗ
	|	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
	|			,
	|			Номенклатура = &Номенклатура
	|				И ВидЦены.Идентификатор = &ИдентификаторВидаЦены) КАК Т");
	
	З.УстановитьПараметр("Номенклатура", Номенклатура);
	З.УстановитьПараметр("ИдентификаторВидаЦены", ИдентификаторВидаЦены);               
	
	Выборка = З.Выполнить().Выбрать();
	Возврат ?(Выборка.Следующий(), Выборка.Цена, 0);
	
КонецФункции    


   

Функция ПолучитьЯчейкуНоменклатуры(Номенклатура) Экспорт
	
	З = Новый Запрос(
	"ВЫБРАТЬ
	|	МАКСИМУМ(Т.Ячейка) КАК Ячейка
	|ИЗ
	|	РегистрСведений.РазмещениеНоменклатурыПоСкладскимЯчейкам КАК Т
	|ГДЕ
	|	Т.Номенклатура = &Номенклатура");
	
	З.УстановитьПараметр("Номенклатура", Номенклатура);
	
	Выборка = З.Выполнить().Выбрать();
	Если Выборка.Следующий() И Выборка.Ячейка <> NULL Тогда
		Возврат Выборка.Ячейка;       
	КонецЕсли;
	
КонецФункции

СтрокаТовары содержит поля, доступные для использования:

Среда: УТ 11.4.13.46 Объем: 0.8 час.

image_pdfimage_print

fixin

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

Вам может также понравиться...

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

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