Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Изменение всех подгрупп справочника при изменении реквизита группы

Изменение всех подгрупп справочника при изменении реквизита группы
Я
   Double_Medved
 
22.01.13 - 21:39
Подскажите пожалуйста, вот такое дело: 1с8.2 УТ11, в форму группы справочника Номенклатура был добавлен реквизит "МаксимальнаяСкидка" - исходя из него потом рассчитываются всякие скидки - при пробитии например Крема Эйвон если у его группы, то есть Эйвон, МаксимальнаяСкидка такая-то, то то-то... Проблема в том, что у большинства групп куча подгрупп и т.д. Нужно при записи группы назначить МаксимальнуюСкидку и на все подгруппы и их подгруппы... Написал вот код, но он выбирает только подгруппы, а подгруппы подгрупп уже нет, подскажите пожалуйста:

Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    Выборка = Справочники.Номенклатура.Выбрать(ТекущийОбъект.Ссылка,,,); 
    Пока Выборка.Следующий() Цикл 
        Если Выборка.ЭтоГруппа = 1 Тогда
            Об = Выборка.ПолучитьОбъект();
            Об.МаксимальнаяСкидка = ТекущийОбъект.МаксимальнаяСкидка;
            Об.Записать();
        КонецЕсли;
    КонецЦикла; 
КонецПроцедуры
 
 
   Нуф-Нуф
 
1 - 22.01.13 - 21:44
гы. на собеседовании в связном была такая задача. только решение не через установку скидки вниз по иерархии.
   Нуф-Нуф
 
2 - 22.01.13 - 21:46
Выборка.ЭтоГруппа = 1??? С 7ки только пришел чтоли?
   DrShad
 
3 - 22.01.13 - 21:48
да и не нужно всем устанавливать - в запросе юзай в иерархии и будет тебе счастие
   Double_Medved
 
4 - 22.01.13 - 21:57
Да не, надо его записать все-таки - у разных подгрупп одной группы могут быть разные МаксимальныеСкидки и т.д, и клиенты хотят видеть все... А насчет В ИЕРАРХИИ - это он выберет подгруппы подгрупп и т.д.? А как примерно тогда будет выглядеть запрос всех подгрупп которые в иерархии - с выбором только групп, элементы не нужны..
   DrShad
 
5 - 22.01.13 - 21:59
(4) открою тебе тайну, только никому
есть такая штука как МАКСИМУМ() в запросах
   Double_Medved
 
6 - 22.01.13 - 22:00
ВЫБРАТЬ
    Номенклатура.Код, 
    Номенклатура.Наименование КАК Наименование, 
    Номенклатура.ЗакупочнаяЦена 
ИЗ 
    Справочник.Номенклатура КАК Номенклатура

ГДЕ 
    Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)

Как-то так? А как указать чтобы только группы выбирал?
   DrShad
 
7 - 22.01.13 - 22:00
+(5) извини но запросы вместо ТС пишут тут другие люди и только за деньги
   DrShad
 
8 - 22.01.13 - 22:01
ГДЕ 
    Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)
    И Номенклатура.ЭтоГруппа
   Double_Medved
 
9 - 22.01.13 - 22:02
Пардон а что такое ТС?
   Double_Medved
 
10 - 22.01.13 - 22:02
DrShad, спасибо за подсказку
 
 Рекламное место пустует
   DrShad
 
11 - 22.01.13 - 22:06
ТС - топик стартер, т.е. тот кто создал ветку - ты
   Double_Medved
 
12 - 22.01.13 - 22:07
А ну спасибо за подсказку, но это же весьма простой запрос, за такое брать деньги.. Вообщем благодарю за помощь
   НафНаф
 
13 - 22.01.13 - 22:10
маня в данном подходе всегда смущала одна вещь:
1. меняем данные у группы
2. меняем у подгруппы (или эелемента)
3. меняем снова у первой группы

 каков е долен быть результат?
   Double_Medved
 
14 - 22.01.13 - 22:26
Нуф-Нуф, в смысле мы меняем снова у первой группы? В идеале надо рекурсивно войти в подгруппы каждой группы и записать там МаксимальнуюСкидку. Я хотел просто подправить процедуру ПриЗаписи - там мы ставим МаксимальнуюСкидку и делаем Записать() - по идее тут снова вызовется ПриЗаписи() но уже у подгруппы.. Но что-то не прокатило, только у подгрупп заданной группы просавилось, у подгруп подгрупп - нет..

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует