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

Принадлежность группе

Автор Tyshkan, 25 фев 2013, 14:57

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

Tyshkan

Помогите пожалуйста, необходимо проверить принадлежит элемент группе или нет, в группе несколько подгрупп и она сама в группе...

Gunner

Если Элемент.Родитель.ЭтоГруппа Тогда
    Сообщить("Принадлежит группе";
КонецЕсли;

Tyshkan

Мне необходимо проверить принадлежность определенной группе

Gunner

Если Элемент.Родитель.Наименование = "Группа" Тогда
    Сообщить("Принадлежит группе ""Группа""");
КонецЕсли;

Tyshkan

не срабатывает Ситуация такая: Группа1, Группа 2, Группа3...ГруппаN . Реквизит. Мне нужно проверить принадлежит ли Реквизит Группе 2

Gunner

Т.е надо просто проверить принадлежит ли элемент к опред. группе в иерархии или именно к группе на каком-то уровне?

Tyshkan

принадлежит ли элемент к опред. группе в иерархии

Gunner


    Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
               | Номенклатура.Ссылка КАК Группа
               |ИЗ
               | Справочник.Номенклатура КАК Номенклатура
               |ГДЕ
               | Номенклатура.ЭтоГруппа
               | И Номенклатура.Наименование = &Группа";
Запрос.УстановитьПараметр("Группа", "ПринадлежащаяГруппа");
Результат = Запрос.Выполнить().Выгрузить();
Если Результат.Количество()>0 Тогда
Группа = Результат[0].Группа;
Если ЭтотОбъект.ПринадлежитЭлементу(Группа) Тогда
Сообщить("ПринадлежитГруппе");
КонецЕсли;
КонецЕсли;


сначала находим группу, потом используем метод "Принадлежит элементу" для поиска принадлежности элемента к группе на всех уровнях иерархии

Tyshkan

Спасибо))))
Добавлено: 25 фев 2013, 16:34


а вот еще вопрос: если элемент принадлежит группе то на форме открыть возможность редактирования поля табличной части "Ширина", иначе "Ширина" недоступно для редактирования. Как это сделать??

Yura063

А почему не сделать так:

Спр = Справочники.Номенклатура;
Если Спр.НайтиПоНаименованию(Элемент,,Группа) <> Спр.ПустаяСсылка() Тогда
    //тот код которые вы хотите
Иначе
    Сообщить(Элемент + " не принадлежит группе: " + Группа);
КонецЕсли;

Добавлено: 25 фев 2013, 16:58


СправочникМенеджер.<Имя справочника> (CatalogManager.<Имя справочника>)
НайтиПоНаименованию (FindByDescription)
Синтаксис:

НайтиПоНаименованию(<Наименование>, <ТочноеСоответствие>, <Родитель>, <Владелец>)
Параметры:

<Наименование> (обязательный)

Тип: Строка.
Строка, содержащая искомое наименование.
<ТочноеСоответствие> (необязательный)

Тип: Булево.
Определяет режим поиска по полному соответствию.
Поиск будет успешным, если строка поиска: в случае значения параметра Ложь - будет соответствовать левой части наименования; в случае значения параметра Истина - будет полностью совпадать с наименованием (за исключением "хвостовых" пробелов в наименовании).
Значение по умолчанию: Ложь
<Родитель> (необязательный)

Тип: СправочникСсылка.
Родитель, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике.
<Владелец> (необязательный)

Тип: СправочникСсылка.
Владелец, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике.
Возвращаемое значение:

Тип: СправочникСсылка.<Имя справочника>; Неопределено.
Ссылка на найденный элемент справочника.
Если не существует ни одного элемента с требуемым наименованием, то будет возвращена пустая ссылка.
Если для справочника наименование не задано (длина = 0), то будет возвращено Неопределено.
Описание:

Осуществляет поиск элемента по его наименованию.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Если существует несколько элементов с указанным наименованием, то будет найден только один из них.
Помогли, отблагодари!

Теги:

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

Рейтинг@Mail.ru

Поиск