gifts2017

Установка цен номенклатуры в зависимости от номенклатурной группы

Опубликовал Роман Солоницын (roman-sln) в раздел Программирование - Практика программирования

Не нашел в УТ стандартных средств для установки цен в зависимости от номенклатурной группы товара, но считаю что вещь многим очень нужная. Поэтому дописал немного конфу так, что для каждой номенклатурной группы можно создать свойство под названием типа цен, значение которого будет устанавливаться в качестве процента наценки для данного типа цен в документе "Установка цен номенклатуры".

И  так, заходим в конфигураторе в модуль формы "Установка цен номенклатуры", ищем процедуру: "ЗаполнитьТабличнуюЧастьПоПоступлениюНаОсновании(ДокументПоступление,Перезаполнение=Ложь)", в ней меняем запрос на этот:

"|ВЫБРАТЬ
| ТоварыИзДокумента.*,
| СпрТипыЦен.Ссылка КАК ТипЦен,
| СпрТипыЦен.ВалютаЦены КАК ВалютаТипаЦены,
| ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение.Наименование, ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ПроцентСкидкиНаценки, СпрТипыЦен.ПроцентСкидкиНаценки)) КАК ПроцентСкидкиНаценки,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.СпособРасчетаЦены, СпрТипыЦен.СпособРасчетаЦены) КАК СпособРасчетаЦены
|ИЗ
| (ВЫБРАТЬ
| Док.Ссылка.СуммаВключаетНДС КАК СуммаВключаетНДС,
| Док.Ссылка.ВалютаДокумента КАК ВалютаДокумента,
| Док.Номенклатура КАК Номенклатура,
| Док.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| СРЕДНЕЕ(Док.Цена) КАК Цена,
| Док.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Док.СтавкаНДС КАК СтавкаНДС,
| МИНИМУМ(Док.НомерСтроки) КАК НомерСтроки
| ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК Док
| ГДЕ
| Док.Ссылка = &ДокументОснование
| СГРУППИРОВАТЬ ПО
| Док.Ссылка.СуммаВключаетНДС,
| Док.Ссылка.ВалютаДокумента,
| Док.Номенклатура,
| Док.ХарактеристикаНоменклатуры,
| Док.ЕдиницаИзмерения,
| Док.СтавкаНДС
| ) КАК ТоварыИзДокумента
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Справочник.ТипыЦенНоменклатуры КАК СпрТипыЦен
|ПО
| СпрТипыЦен.Ссылка В (&ПодчиненныеТипыЦен)
|ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен В (&ПодчиненныеТипыЦен)) КАК ЦеныНоменклатурыСрезПоследних
|ПО
| СпрТипыЦен.Ссылка = ЦеныНоменклатурыСрезПоследних.ТипЦен
| И ТоварыИзДокумента.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И ТоварыИзДокумента.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
| ПО (ТоварыИзДокумента.Номенклатура.НоменклатурнаяГруппа = ЗначенияСвойствОбъектов.Объект)
| И ЗначенияСвойствОбъектов.Свойство.Наименование = СпрТипыЦен.Наименование
|УПОРЯДОЧИТЬ ПО
| ТоварыИзДокумента.НомерСтроки
 |";
 

Вот и все, теперь можете создать номенклатурные группы и создать для них свойство с названием нужного вам типа цен, а значением - процентом накрутки. И при заполнении установки цен из поступления процент наценки для каждого товара выставится такой, какой указан в номенклатурной группе.

Кому надо будет, думаю сам сможет доделать запрос для других действий по заполнению документа.

Тестировалось на УТ 10.3.13.2 для 8.2.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. German Derkachenko (SoftLeon) 06.02.11 10:03
вот только привязка типов цен к свойству по наименованию не камильфо :)
2. Роман Солоницын (roman-sln) 06.02.11 11:03
просто я искал наиболее простой способ с наименьшими изменениями конфы, вот и выбрал этот. А что не так? Изначально хотел просто сделать свойство "наценка", но подумал, типы цен же могут быть разные, это у меня один тип продажных цен. Вот и решил сделать свойства с таким же названием как и у типов цен. Просто посчитал этот способ наиболее удобным. Может тогда подскажете как лучше?
3. Михаил Иванов (wwizard) 23.01.12 18:21
А для УТ будет работать?
4. Михаил Иванов (wwizard) 23.01.12 22:17
Нет такой процедуры: ищем процедуру "ЗаполнитьТабличнуюЧастьПоПоступлениюНаОсновании"
5. Дмитрий Пупкин (ReLD) 31.01.12 11:53
Доброго времени суток. Вопрос, можно-ли сделать эту обработку внешней, что бы не делать никаких изменений в конфигурации (запрещено головным предприятием).
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа