Установка закупочных цен из поступления. УТ 11.4

Классическая задача, которая возникает только потому, что методисты 1С не хотят прописать возможность автоматической установки закупочных цен из поступления.

Делаем с помощью расширения и изменения конфигурации.

У регистра ЦеныНоменклатуры нет регистратора ПриобретениеТоваровУслуг, добавляем его в конфигурации. В расширении добавить не получится!

Сами движения прописываем в расширении модуля документа ПриобретениеТоваровУслуг:

&После("ОбработкаПроведения")
Процедура дор_ОбработкаПроведения(Отказ, РежимПроведения)
	
	ВидЦеныЗакупочная = Справочники.ВидыЦен.НайтиПоРеквизиту("Идентификатор", "Закупочная");
	ТекВалюта = ЭтотОбъект.Валюта;

	НЗ = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей();
	НЗ.Отбор.Регистратор.Значение = Ссылка;
	
	Для Каждого Строка ИЗ ЭтотОбъект.Товары Цикл
		МЗ = НЗ.Добавить();
		МЗ.Период = ЭтотОбъект.Дата;
		МЗ.Номенклатура = Строка.Номенклатура;
		МЗ.Характеристика = Строка.Характеристика;
		МЗ.ВидЦены = ВидЦеныЗакупочная;
		МЗ.Цена = Строка.Цена;
		МЗ.Упаковка = Строка.Упаковка;
		МЗ.Валюта = ТекВалюта;
	КонецЦикла;
	
	НЗ.Записать();
	
КонецПроцедуры

Документ приобретения с доработанными движениями по ценам:

При этом нужно, чтобы документ установки цен не делал движения по закупочной цене, иначе будет конфликт с приобретением — т.к. за одну дату можно устанавливать цену только одним документом (периодичность регистра цен — день). Расширяем модуль набора записей регистра ЦеныНоменклатуры:

&После("ПередЗаписью")
Процедура дор_ПередЗаписью(Отказ, Замещение)
	
	//Удаляем строки с закупочной ценой в приобретениях
	Если ТипЗнч(ЭтотОбъект.Отбор.Регистратор.Значение) = Тип("ДокументСсылка.УстановкаЦенНоменклатуры") Тогда
		
		ВидЦеныЗакупочная = Справочники.ВидыЦен.НайтиПоРеквизиту("Идентификатор", "Закупочная");
		
		Всего = ЭтотОбъект.Количество();
		
		Для Инд = 1 ПО Всего Цикл                       
			
			Строка = ЭтотОбъект[Всего - Инд];
			
			Если Строка.ВидЦены = ВидЦеныЗакупочная Тогда
				ЭтотОбъект.Удалить(Строка);
			КонецЕсли;     
			
		КонецЦикла;
	
	КонецЕсли;     
		
КонецПроцедуры

Документ установки цен с типовыми движениями (присутствует закупочная цена):

Документ установки цен движениями после доработки (закупочной цены нет):

Осталось только перепровести сначала установки цен, затем приобретения. Я перепроводил только за 10 месяцев с начала года, этого было достаточно.

Сначала перепроводим установку цен.
Затем перепроводим приобретения.

При этом если по какому-то приобретению закупочные цены забыли установить, они вставали, что делало аналитику по ценам более точной.

Среда: 11.4.13.46. Объем: 1 час.

fixin

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

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

1 комментарий

  1. 17.10.2022

    […] на которые большая кампания забила. Вот недавно доделывал, чтобы при проведении поступления устанавливались […]

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

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