Получение иерархии справочника "Номенклатура"

Элементарная обработка для получения иерархии групп справочника "Номенклатура" без дублей.

 Для запуска одна кнопка…

Легко перепишется под любой другой справочник. 

Первая публикация, — не судите строго… Отчет создал на скорую руку для себя, так как не нашел такого на инфостате, решил поделиться, чтоб народ мог легко получить иерархию справочника «Без дублей», тех, которые создаются при группировке итогов по иерархии. Очистка дублей производится дополнительной функцией. 

Функция обУбратьОшибкиИтоговПоИерархии(Строки, Поле="Ссылка", Родитель=Неопределено) Экспорт
    //Убираем все элементы, равные текущему
    Всего=Строки.Количество();
    Для Инд=1 По Всего Цикл
        Стр=Строки[Всего-Инд];
        Зн=Стр[Поле];
        Если Родитель<>Неопределено И Зн=Родитель Тогда
            Строки.Удалить(Стр);
            Иначе
            обУбратьОшибкиИтоговПоИерархии(Стр.Строки, Поле, Зн);
        КонецЕсли;
    КонецЦикла;
КонецФункции 

11 Comments

  1. anig99

    Техническая сложность исполнения и практическая значимость данной обработки равно 0

    Reply
  2. snikers44

    (1) anig99, если для вас она не представляет практической значимости, — это не значит, что не представляет ни для кого… насчет технической сложности, — не все гуру программирования 1С и для кого-то это может представлять сложность…

    Reply
  3. cinfo

    скд вам в помощь

    Reply
  4. Necytij

    К сожалению, у меня не достаточно рейтинга чтобы ставить минусы.

    Ваш супер функционал не гуру может сформировать типовой отчет «универсальный», который в типовых уже очень давно в наличии…

    Reply
  5. anig99

    (2) данная обработка не представляет ценности ни для кого, кроме Вас. Так как обучаться нужно по учебникам, курсам и гораздо более сложным разработкам.

    Reply
  6. kser87

    А я скажу: спасибо за обработку.

    Reply
  7. V.Nikonov
    Элементарная обработка для получения иерархии групп справочника «Номенклатура» без дублей.

    Вообще-то это отчет. А что Значит «БЕЗ ДУБЛЕЙ»?

    Теоретически запуск мог бы встраиваться в какую нибудь форму-список или Форму элемента…(для справочников в которых отсутствует доп.окно с деревом). Или дополнение к обработке результатов запроса возвращающего список элементов, а просмотреть желательно иерархию этих элементов…

    Только, если это есть учебное пособие, то удобнее опубликовать в тексте фрагменты кода с комментариями поясняющие логику…

    Если это есть полезная примочка к программе, то есть смысл расписать случаи полезности…

    P.S. Соответственно для Публикации в таком виде хочется поставить минус!

    Reply
  8. snikers44

    (7) V.Nikonov, Согласен, вид публикации оставляет желать лучшего, просто первая публикация, — не судите строго… Отчет создал на скорую руку для себя, так как не нашел такого на инфостате, решил поделиться, чтоб народ мог легко получить иерархию справочника «Без дублей», тех, которые создаются при группировке итогов по иерархии. Очистка дублей производится дополнительной функцией.

    Функция обУбратьОшибкиИтоговПоИерархии(Строки, Поле=»Ссылка», Родитель=Неопределено) Экспорт
    //Убираем все элементы, равные текущему
    Всего=Строки.Количество();
    Для Инд=1 По Всего Цикл
    Стр=Строки[Всего-Инд];
    Зн=Стр[Поле];
    Если Родитель<>Неопределено И Зн=Родитель Тогда
    Строки.Удалить(Стр);
    Иначе
    обУбратьОшибкиИтоговПоИерархии(Стр.Строки, Поле, Зн);
    КонецЕсли;
    КонецЦикла;
    КонецФункции
    

    Показать

    Reply
  9. V.Nikonov

    (8) И что? Редактировать Публикацию не будем?

    Оставим её для галочки? 🙁

    Reply
  10. DrAku1a

    Ну-ка-дети-скажем-дружно «НА-ФИГА-НАМ ЭТО НУЖНО?»

    Reply
  11. snikers44

    (9) V.Nikonov, Отредактировал чуток=) спасибо за адекватную помощь в публикации…

    P.S. Просто от нахлынувших негативных отзывов хотелось просто закрыть публикацию, и, возможно, не сэкономить пару минут действительно нуждающимся людям…

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *