7.7 Принадлежит группе или нет?

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем Fominv, 17 июн 2009.

  1. TopicStarter Overlay
    Fominv
    Offline

    Fominv

    Регистрация:
    1 июн 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Как сделать проверку в модуле документа,принадлежит ли атрибут данного документа определенной группе справочника.Я знаю что методом ПринадлежитГруппе(), только не знаю как правильно обратиться.Если не трудно,помогите пожалуйста
  2. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Синтаксис:
    ПринадлежитГруппе(<Группа>)
    Назначение:
    Метод проверяет, принадлежит ли указанной группе текущий элемент справочника (независимо от того, на каком нижележащем уровне он находится).
    Возвращает: 1 - если элемент принадлежит указанной группе , 0 - если нет.
    Параметры:
    <Группа> - выражение со значением группы справочника .
  3. TopicStarter Overlay
    Fominv
    Offline

    Fominv

    Регистрация:
    1 июн 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Процедура Сформировать()

    Спр=СоздатьОбъект("Справочник.ВидыСтатей");
    спр.ПорядокКодов();
    Спр.ВыбратьЭлементы();
    Пока спр.ПолучитьЭлемент()>0 Цикл
    Если спр.ПринадлежитГруппе("Поступление денежных средств")=1 тогда
    Сообщить(спр);
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры

    Ну почему он не находит группу "Поступление денежных средств"? может я что то не так делаю?
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    неправильно
    Поэтому надо в скобках указывать не строку, а переменную или реквизит с типом <<Справочник>>.
    Вид справочника должен совпадать с видом проверяемого справочника.

    если справочник всего 2х-уровневый, тогда проще далать проверку наименования родителя элемента.
    Код:
    Если спр.Родитель.Наименование = "Поступление денежных средств" тогда
    
  5. TopicStarter Overlay
    Fominv
    Offline

    Fominv

    Регистрация:
    1 июн 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Мой справочник трех уровневый. Так что я сделал вот таким образом как ты подсказал,и все получилось. :) Очень благодарен.Спасибо :unsure:
    Код:
    ПДС=СоздатьОбъект("Справочник.ВидыСтатей"); 
    ПДС.НайтиПоНаименованию("Поступление денежных средств",,);
    
    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл 
    
    Если ВидыСтатей.ЭтоГруппа()=0 Тогда
    
    Если ВидыСтатей.ПринадлежитГруппе(ПДС)=1 Тогда
    
    

Поделиться этой страницей