|
Не получается реализовать функционал. В чем проблема? | ☑ | ||
---|---|---|---|---|
0
brenli
15.03.18
✎
19:37
|
// Меняем значение реквизита
//подчиненых элементов на значение взятое у родителя Процедура ОбходЭлементовВГруппе(Источник) Выборка = Справочники.Номенклатура.ВыбратьИерархически(Источник.Ссылка); Пока Выборка.Следующий() Цикл ОбъектНом = Выборка.ПолучитьОбъект(); ОбъектНом.Контрагент = Источник.Контрагент; ОбъектНом.Записать(); КонецЦикла; КонецПроцедуры //Работа с реквизитом Процедура ОбработкаРеквизитаКонтранент(Источник) Экспорт Если НЕ Источник.ЭтоГруппа Тогда // Если это элемент справочника тогда заполняем контра из контра родителя Источник.Контрагент = Источник.Родитель.Контрагент; ИначеЕсли Источник.ЭтоГруппа Тогда // Если это группа справочника. // Группа может быть корневой и вложенной // Если группа корневая, контрагента у ней принудительно не устанавливаем Если Источник.Уровень()=0 Тогда Если НЕ Источник.Контрагент.Пустая() Тогда ОбходЭлементовВГруппе(Источник); КонецЕсли; Иначе Если НЕ Источник.Родитель.Пустая() Тогда Источник.Контрагент = Источник.Родитель.Контрагент; ОбходЭлементовВГруппе(Источник); КонецЕсли; КонецЕсли; КонецЕсли; Если НЕ Источник.ДополнительныеСвойства.РодительДоИзменения = Источник.Родитель Тогда Источник.Контрагент = Источник.Родитель.Контрагент; Источник.Записать(); ОбходЭлементовВГруппе(Источник); КонецЕсли; КонецПроцедуры //Подписка на событие Процедура ЛК_НоменклатураПередЗаписью(Источник, Отказ) Экспорт Источник.ДополнительныеСвойства.Вставить("РодительДоИзменения", Справочники.Номенклатура.НайтиПоКоду(Источник.Код).Родитель); КонецПроцедуры //Подписка на событие Процедура ЛК_НоменклатураПриЗаписи(Источник, Отказ) Экспорт ОбработкаРеквизитаКонтранент(Источник); КонецПроцедуры Задача такая: У справочника программно реализованно отображение реквизита контрагенты. У групп - доступ для редактирования Истина, у элементов - доступ для редактирования ложь. При изменении реквизита контрагент в корневой группе (без родителя), устанавливаем значение этого реквизита у всех дочерних. - работает. При переносе из группы в группу значение контрагента у групп и элементов так же меняется, НО не могу запретить менять реквизит контрагент у вложенных групп. Что только не пробовал (.. Может есть идеи? |
2 3 |
||
1
Cyberhawk
15.03.18
✎
19:50
|
Замути видео
|
|||
2
Малыш Джон
15.03.18
✎
21:30
|
Лучше стрим. Потом - выполнять реквесты, собирать донат.
(0) у тебя ведь все группы вложенные, кроме самого верхнего уровня, а говоришь - "У групп - доступ для редактирования Истина". ты с логикой работы разберись, а потом уже её в коде реализуй. |
|||
3
Сергиус
16.03.18
✎
02:12
|
(0)Как связано то, что ты присваиваешь значение реквизиту Контрагент и запрет на изменение данного реквизита?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |