8.х Определить номенклатурную группу

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Alive, 12 май 2011.

  1. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    Дорого всем времени суток!! такой вот вопрос назрел. Для карточки номенклатуры нужно выянсить в какой группе он находиться, причем нужно выяснить саму ервую группу, в которую он входит, а не подгруппу. Например вот если есть у нас группа Запчасти, в ней есть подгруппа Свечи, и уже в группе Свечи есть позиция, вот мне надо выяснить что это позиция находится в главном каталоге Запчасти. Для этого написала следующий код, но так как этот поиск происходит при открытии карточки номенклатуры, то открытие затягивается....вооооот. Подскажите пожалуйста как можно по быстрее находить главный родитель у номенклатуры.
    Вот мой код:
    Код:
    Группа = Справочники.Номенклатура.НайтиПоКоду("04157      ");
    РодительНоменклатуры = Родитель;
    Пока Не РодительНоменклатуры.Пустая() Цикл
    Если РодительНоменклатуры = Группа <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/тогда')">Тогда	</span>
    ЭтаФорма.ЭлементыФормы.ОсновнаяПанель.Страницы.НоменклатураДляУстановки.Видимость = Истина;
    КонецЕсли;
    РодительНоменклатуры = РодительНоменклатуры.Родитель;
    КонецЦикла;	
    
    
    
  2. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.174
    Симпатии:
    13
    Баллы:
    29
    можно через ПолныйКод() ... отделить первые символы до "/" .. и найти по коду группу - это и будет самый первый уровень
  3. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    +1

    тоже самое хотел сказать ;)

    а можно и поскакать вверх по родителям, пока родитель не станет пустым. если родитель стал пустым, значит это корневой элемент - прародитель. ;)

    а ещё есть метод ПринадлежитЭлементу()
  4. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    Попробовала, получилось, спасибо, теперь я знаю еще одну функцию в 1с

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