8.х Справочник номенклатуры

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Adminspb, 19 окт 2007.

  1. TopicStarter Overlay
    Adminspb
    Offline

    Adminspb Опытный в 1С

    Регистрация:
    18 дек 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Подскажите пожалуйста!
    Есть справочник номенклатуры и много уроней иерархии в нем. По всем уровням есть позиции номенклатуры.
    ....торможу :unsure:
    Надо имея ссылку на любой элемент в любом месте справочника находящийся вывести
    (с самого верха и до этого элемента) наименования всех уровней иерархии (групп).
    Т.е. тех через которые надо идти "сверху" чтоб дойти до этого элемента.
  2. lazy
    Offline

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

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Номенклатура соответственно наша номенклатура.
    Список будет выводится в обратной последовательности - снизу вверх, как его перевенуть думай сам.

    Код:
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    Если Номенклатура.Родитель.Пустая() Тогда
    Сообщить("Это номенклатура верхнего уровня!");
    Возврат; // если юзер выбрал номенклатуру, которая "плавает на поверхности справочника" :)
    КонецЕсли;
    
    ТекНом = Номенклатура.Родитель; // наша переменная для шагания по иерархии, сразу равна первому родителю
    Пока Истина Цикл
    ОбработкаПрерыванияПользователя();
    
    Если НЕ ТекНом.Родитель.Пустая() Тогда // у нас есть родительская группа
    Сообщить(" "+ТекНом);
    ТекНом=ТекНом.Родитель; // шагнули вперед.
    Иначе
    сообщить(" "+ТекНом.Наименование); // последняя группа - родитель верхнего уровня
    Прервать; // обрываем цикл
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры
    
  3. Prospero
    Offline

    Prospero Опытный в 1С

    Регистрация:
    13 сен 2006
    Сообщения:
    111
    Симпатии:
    0
    Баллы:
    26
    кхе-кхе....
    Давно не возился с 8-кой...
    Может, это поможет:
    Метод из "СправочникСсылка":
    Код:
    ПолноеНаименование ( FullDescr ) 
    Синтаксис; 
    ПолноеНаименование()
    Возвращаемое значение: 
    Тип: Строка. Строка, включающая наименование элемента и наименования всех вышестоящих элементов.
    Наименования выводятся слева направо, начиная с самого верх­него уровня, разделяются символом "/".
    Описание:
    Позволяет получить наименование элемента справочника с уче­том наименований всех вышестоящих элементов.
    Пример: 
    Сообщить("Полное наименование данного элемента: " + СсылкаНаЭлемент.ПолноеНаименоваиие());
    
    
    Ну а дальше разделяй )

    З.Ы. Надеюсь, в названиях элементов у тебя нет символа "/" :)
  4. TopicStarter Overlay
    Adminspb
    Offline

    Adminspb Опытный в 1С

    Регистрация:
    18 дек 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Огромное спасибо!

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