|
Элементы номенклатуры старшего родителя 1С | ☑ | ||
---|---|---|---|---|
0
Gossar1C
12.03.13
✎
14:01
|
Здраствуйте! Подскажите пожалуйста как получить подчиненные элементы старшего родителя?
Пример: СтаршаяГруппа Группа1 Группа1.1 Номенклатура1 Номенклатура2 Группа2 Группа2.2 Номенклатура1 Дело заключается в том что когда мы изменяем в форме группы поле "Входит в группу" (Тобишь надо занести эту Старшую группу вместе с подчиненными элементами в Группу "не использовать" в это группе хранится номенклатура со статусом невидимка) и поэтому мне надо в старшей группе и подчиненных в ней элементах выбрать номенклатуру и изменить статус на НЕВИДИМКУ и потом уже с чистой душой эта группа переносится в группу "не использовать", вот такое вот извращение) это мой код но он не правильный =\ &НаКлиенте Процедура РодительПриИзменении(Элемент) ВыполнитьЗапрос(Объект.Наименование); КонецПроцедуры &НаСервере Процедура ВыполнитьЗапрос(Родитель) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Родитель = &Родитель"; Запрос.УстановитьПараметр("Родитель",Родитель); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ОбъектНоменклатура = Выборка.Ссылка.ПолучитьОбъект(); ОбъектНоменклатура.ГруппаДоступа = Справочники.ГруппыДоступаНоменклатуры.НайтиПоНаименованию("Не использовать (невидимка)"); ОбъектНоменклатура.Записать(); КонецЦикла; КонецПроцедуры Не судите строго, я начинающий программист 1С) Запрос неправильно выстроил, так как у старшей группы есть еще и подчиненные группы( но немогу понять как сделать |
|||
1
Gossar1C
12.03.13
✎
14:02
|
В Параметр родителя передается Старшая группа
|
|||
2
Очкарик
12.03.13
✎
14:04
|
В ИЕРАРХИИ
|
|||
3
Gossar1C
12.03.13
✎
14:06
|
(2) блин забыл как там... ОбходРезультат.ВИерархии?
|
|||
4
Gossar1C
12.03.13
✎
14:07
|
ща СП покурю)
|
|||
5
Gossar1C
12.03.13
✎
14:08
|
(2) ааа вроде бы допер) Номенклатура.Родитель В ИЕРАРХИИ &Родитель
|
|||
6
Gossar1C
12.03.13
✎
14:11
|
или не допер =(
|
|||
7
Gossar1C
12.03.13
✎
14:14
|
Все норм) Очкарик большое спасибо) Не первый раз выручаешь)
|
|||
8
Очкарик
12.03.13
✎
14:18
|
(7) Пожалуйста, обращайся если чо :)
|
|||
9
Gossar1C
12.03.13
✎
14:25
|
(8) кстати у меня запрос полностью неправильный =( в иерархии это да...
Пишу ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Ссылка В Иерархии (&Родитель) ничего не ищет... пробовал пример группы СтаршаяГруппа Номенклатура1 |
|||
10
Очкарик
12.03.13
✎
14:31
|
(9) Ссылка В Иерархии (&Родитель) выберет все, что входит в группу Родитель
|
|||
11
Очкарик
12.03.13
✎
14:33
|
(10) Если тебе надо наоборот, то пиши так
НЕ Контрагенты.Ссылка В ИЕРАРХИИ (&Ссылка) |
|||
12
Gossar1C
12.03.13
✎
14:38
|
(11) немного тебя не понял)
СтаршаяГруппа ЭлементНоменклатуры =\ Ссылка по идее на группу... а как на сам элемент получить ссылку? |
|||
13
Gossar1C
12.03.13
✎
14:46
|
поподробнее)
&НаКлиенте Процедура РодительПриИзменении(Элемент) ВыполнитьЗапрос(Объект.Ссылка);//Передает ссылку на группу в моем случае "ЛАМПЫ" КонецПроцедуры &НаСервере Процедура ВыполнитьЗапрос(Родитель) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Ссылка //Если я правильно понимаю выбирает элемент справочника, если же нет то выбирает группу... |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка В ИЕРАРХИИ(&Родитель)"; Запрос.УстановитьПараметр("Родитель",Родитель); Выборка = Запрос.Выполнить().Выбрать(); //Все бы ничего... но выборка пустая (по отладчику), тоесть ссылка "ошибка чтения значения" Пока Выборка.Следующий() Цикл// удивительно проходит выборку)в выборке содержится группа... ОбъектНоменклатура = Выборка.Ссылка.ПолучитьОбъект(); ОбъектНоменклатура.ГруппаДоступа = Справочники.ГруппыДоступаНоменклатуры.НайтиПоНаименованию("Не использовать (невидимка)"); ОбъектНоменклатура.Записать(); КонецЦикла; КонецПроцедуры |
|||
14
Gossar1C
12.03.13
✎
14:51
|
Выборка содержит и номенклатуру и группу эту,
буду делать проверку) Если Не Выборка.Ссылка.ЭтоГруппа Тогда ОбъектНоменклатура = Выборка.Ссылка.ПолучитьОбъект(); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |