Здравствуйте.
Помогите пожалуйста с вопросом:
есть справочник номенклатура, в нем соответственно группы товаров в этих группах может быть множество подгрупп с номенклатурой. У группы или подгруппы можно задать %наценки по подразделению, но этот процент работает только на номенклатуру которая находится в этой группе, т.е. если у нас еще в этой группе есть несколько подгрупп то на наценка на эти подгруппы не распространяется хотя родитель та группа на которую я установил наценку.
Как сделать что бы наценка распространялось не только на номенклатуру в этой группе, но и + на все подгруппы с номенклатурой в этой группе? Понимаю что надо сделать выборку по иерархии, но как правильно сделать - не получается.
Благодарю за помощь!
Сам код обработки:
Процедура ЗагрузитьНаценки()
//Загрузка наценок
Запрос=Новый Запрос("
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| Подразделения.Ссылка КАК Подразделение,
| Подразделения.Наименование КАК Наименование,
| Наценки.Статус,
| Наценки.НеПересчитыватьНаценку,
| Наценки.ПроцентНаценки КАК ПроцентНаценки,
| НаценкиГруппы.ПроцентНаценки КАК ПроцентНаценкиГруппы,
| Наценки.ДатаНачНепересчит
|ИЗ
| Справочник.ПодразделенияКомпании КАК Подразделения
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаценкиПоПодразделениям КАК Наценки
| ПО Наценки.Номенклатура =&Номенклатура И Подразделения.Ссылка = Наценки.Подразделение
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаценкиПоПодразделениям КАК НаценкиГруппы
| ПО НаценкиГруппы.Номенклатура =&НоменклатураГруппа И Подразделения.Ссылка = НаценкиГруппы.Подразделение
|ГДЕ
| Подразделения.Ссылка<>&Основное
|УПОРЯДОЧИТЬ ПО
| Наименование
|");
Запрос.УстановитьПараметр("Номенклатура",Ссылка);
Запрос.УстановитьПараметр("НоменклатураГруппа",Ссылка.Родитель);
Запрос.УстановитьПараметр("Основное",Справочники.ПодразделенияКомпании.ОсновноеПодразделение);
Наценки=Запрос.Выполнить().Выгрузить();
КонецПроцедуры // ЗагрузитьНаценки()
Di79 @ Сегодня, 8:31
,
попробуйте
НаценкиГруппы.Номенклатура В ИЕРАРХИИ (&НоменклатураГруппа)
Запрос.УстановитьПараметр("НоменклатураГруппа",Ссылка.Родитель);
salton @ Сегодня, 8:50
,
Не сработало (, результат тот же: на номенклатуру в группе проставил наценку, а в подгруппах нет.
ПО НаценкиГруппы.Номенклатура =&НоменклатураГруппа И Подразделения.Ссылка = НаценкиГруппы.Подразделение
заменил на:
ПО НаценкиГруппы.Номенклатура В ИЕРАРХИИ (&НоменклатураГруппа) И Подразделения.Ссылка = НаценкиГруппы.Подразделение
Di79 @ Сегодня, 9:40
,
вы в обработке выбираете номенклатуру из определенной группы и хотите, чтобы произошли какие-то действия со всей номенклатурой из этой группы, а также с подгруппами, которые находятся в этой группе?
В методической поддержке явно указано:
В ИЕРАРХИИ(&Группа)
В данном случае будут получены все записи справочника Номенклатура, находящиеся в группе &Группа, включая ее саму, ее подчиненные группы и элементы, принадлежащие подчиненным группам.
ПО НаценкиГруппы.Номенклатура В ИЕРАРХИИ (&НоменклатураГруппа) И Подразделения.Ссылка = НаценкиГруппы.Подразделение
salton @ Сегодня, 8:50
,
Прошу прощенья сразу не до думал, ваш запрос сработал, но от обратного:
если я ставлю наценку на подгруппу то наценка проставляется вверх, т.е. на номенклатуру в этой подгруппе и на всю номенклатуру в группах родителей этой подгруппы, но вниз не идет, т.е. если у этой подгруппы есть еще под подгруппы то там наценка уже не ставится. Как сделать наоборот, что бы наценка проставлялась сверху вниз.
Ребят помогите пожалуйста (Сообщение #6), в 1С только начинаю разбираться...
Благодарю.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua