Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 19:18

Выборка по иерархии...

Автор Di79, 28 сен 2017, 08:20

0 Пользователей и 1 гость просматривают эту тему.

Di79

Здравствуйте.

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

Как сделать что бы наценка распространялось не только на номенклатуру в этой группе, но и + на все подгруппы с номенклатурой в этой группе? Понимаю что надо сделать выборку по иерархии, но как правильно сделать - не получается.
Благодарю за помощь!
Сам код обработки:

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

Если ставлю так:

    Запрос.УстановитьПараметр("НоменклатураГруппа",Ссылка.Родитель.Родитель);

то наценка проставляется только по номенклатуре из подгруппы группы, а по номенклатуре из группы не проставляется...

oleg-x


| ПО НаценкиГруппы.Номенклатура =В(&НоменклатураГруппа) И Подразделения.Ссылка = НаценкиГруппы.Подразделение
 
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

LexaK

ЦитироватьКак сделать что бы наценка распространялось не только на номенклатуру в этой группе, но и + на все подгруппы с номенклатурой в этой группе?
для этого наверно надо сделать так
| ПО НаценкиГруппы.Номенклатура =В ИЕРАРХИИ(&НоменклатураГруппа) И Подразделения.Ссылка = НаценкиГруппы.Подразделение
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск