Не показываются единицы в подборе товаров в расходную накладную. УНФ 3.0

Странная проблема — при подборе в расходную накладную единицы показываются не у всех товаров.

Случайно отладчиком сразу нашел место, где выводятся единицы в форме ФормаСписка номенклатуры:

При этом используется такой запрос:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
	ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения.Коэффициент, 1) КАК Коэффициент,
	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
	ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.ВалютаЦены <> ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) 
		ТОГДА ЦеныНоменклатурыСрезПоследних.ВалютаЦены 
		ИНАЧЕ ЦеныНоменклатурыСрезПоследних.ВидЦен.ВалютаЦены
	КОНЕЦ КАК ВалютаЦены,
	ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.ВалютаЦены <> ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка) 
		ТОГДА ЦеныНоменклатурыСрезПоследних.ВалютаЦены.СимвольноеПредставление 
		ИНАЧЕ ЦеныНоменклатурыСрезПоследних.ВидЦен.ВалютаЦены.СимвольноеПредставление
	КОНЕЦ КАК ПредставлениеВалютаЦены
ИЗ
	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
			&ДатаСреза,
			ВидЦен = &ВидЦен
				И Номенклатура В (&Ссылки)
				И Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК ЦеныНоменклатурыСрезПоследних

Т.е. единица тянется из регистра «Цены номенклатуры». Но как ее туда подставить? В документе установки цен нет выбора единицы, в форме списка регистра цен тоже единица не показывается.

Для меня стало открытием, что этот регистр не подчинен регистратору. Хотя когда-то я это уже помнил.

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

В общем, единица цены — это какой-то старый рудимент УНФ, который забрыли качественно убрать.

UPD: поправил небольшим расширением на модуль документа установки цен:

&После("ПередЗаписью")
Процедура дор_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	Если Не Отказ Тогда                                  
		//2024-02-19 были загружены устанвоки цен без единиц измерения, патч проставляет их
		Шт = Справочники.КлассификаторЕдиницИзмерения.шт;
		Для Каждого Строка ИЗ ЭтотОбъект.Запасы Цикл
			Если Не ЗначениеЗаполнено(Строка.ЕдиницаИзмерения) Тогда
				Строка.ЕдиницаИзмерения = Шт;
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;
КонецПроцедуры

Среда: 3.0.5.145 Объем: 0.8 час.

fixin

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

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

комментария 3

  1. Давид:

    А как это исправить?

    • Посмотреть документ установки цен, чтобы корректно ставил единицу (расширением).
      Или корректировать уже при записи регистр (расширением)
      Или обработкой пройтись по записям регистра и проставить.

      Я честно говоря не помню, как у себя решил. Надо глянуть в коде расширения клиента.

    • В конце статьи добавил UPD, где показано, как исправлять расширением.

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

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