7.7 Сравнение элементов справочника

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Tolikv, 7 июл 2006.

  1. TopicStarter Overlay
    Tolikv
    Offline

    Tolikv

    Регистрация:
    4 июл 2006
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    Как сравнить значения текущего и предыдущего элементов справочника?
  2. TopicStarter Overlay
    Tolikv
    Offline

    Tolikv

    Регистрация:
    4 июл 2006
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    Сравнение мне нужно для того, чтобы вывести в таблицу справочник Номенклатура, деля его по группам. Т.е. сначало вывести группу затем все документы принадлежащие этой группе, потом следующую группу и так далее.
  3. Delly
    Offline

    Delly

    Регистрация:
    7 июл 2006
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    вопрос поставлен не достаточно коректно
  4. Гость
    Offline

    Гость Гость Гость

    Эта проблема решается примерно так :
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    Т = СоздатьОбъект("Таблица");
    Т.ИсходнаяТаблица("Таблица");
    Спр = СоздатьОбъект("Справочние.Номенклатура");
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент() = 1 Цикл
    Если Спр.ТекущийЭлемент.ЭтоГруппа() = 1 Тогда
    Т.ВывестиСекцию("Секция_1");
    Иначе Т.ВывестиСекцию("Секция_2"); КонецЕсли;
    КонецЦикла;
    Т.Показать();
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    Секцию 1 разместить левее чем секцию 2 и на одну строку выше
    Если в корневом уровне справочника Номенклатура м.б. не только группы но и элементы то для отделения таких элементов от элементов из групп можно дописать вывод пустой секции вот так :
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    Т = СоздатьОбъект("Таблица");
    Т.ИсходнаяТаблица("Таблица");
    Спр = СоздатьОбъект("Справочние.Номенклатура");
    Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент() = 1 Цикл
    Если Спр.ТекущийЭлемент.ЭтоГруппа() = 1 Тогда
    Т.ВывестиСекцию("Секция_1");
    Иначе Т.ВывестиСекцию("Секция_2"); Т.ВывестиСекцию("Секция_3");КонецЦикла;
    Т.Показать();
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    В секции 3 можно что нибудь своё написать. Так же в зависимости от контекста задачи можно писать свои условия например на проверку уровня вложенности(в иерархии). Короче можно не только в Таблицу отчета выводить но и в табличную часть документа(тока надо многое подправить). Удачи !
  5. TopicStarter Overlay
    Tolikv
    Offline

    Tolikv

    Регистрация:
    4 июл 2006
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    Это всё понятно, всё правильно. Но мне нужно чтобы группа вывелась один раз, а потом сразу все элементы подчиненные ей, а не для каждого элемента выводить одну и туже группу.

    Вот чтобы понятней было выложу свой отчет:

    Вложения:

    • SvodVed.rar
      Размер файла:
      12 КБ
      Просмотров:
      130

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