как отфильтровать справочник в 7.7

Тема в разделе "1C и всё что с ней связано", создана пользователем evgenyatam, 16 сен 2010.

  1. evgenyatam

    evgenyatam Well-Known Member

    Регистрация:
    7 сен 2007
    Сообщения:
    175
    Симпатии:
    0
    Использую процедуру ИспользоватьСписокЭлементов. Фильтрация происходит но: в каждой группе присутствует элемент без наименования и значений полей, иконка у него с красным вопросом и его невозможно отредактировать.
    как сделать чтобы такие элементы не выводились?
    зы: код выложу если попросите. список значений проверял - пустых элементов нет.
     
  2. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Иерархию отрубал?
     
  3. evgenyatam

    evgenyatam Well-Known Member

    Регистрация:
    7 сен 2007
    Сообщения:
    175
    Симпатии:
    0
    не могу. нужна именно иерархия.
     
  4. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
  5. evgenyatam

    evgenyatam Well-Known Member

    Регистрация:
    7 сен 2007
    Сообщения:
    175
    Симпатии:
    0
    похоже это просто нереально. то-есть нереально с иерархией групп и элементов стандартными средствами. нестандартными можно, но нерентабельно.
     
  6. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Вот таких вот описанных чертиков не видел. А может не помню....
    Иерархия реальна. Только делается мудрено. Надо при каждом переходе пользователя в другую группу вызывать установку отбора.

    Код ( (Unknown Language)):
    //-----------------------------------------------
    Процедура ПриВыбореРодителя(Род)
    УстОтборОтстатков(Род);
    КонецПроцедуры


    // Устанавливает отбор. Она же и выключает его
    // Вызывается также из галочки на диалоге "Вкл/Вык" (без параметров)
    Процедура УстОтборОтстатков(Род="")
    Если (Род = "") Тогда
    Род = ИспользоватьРодителя(); // берется группа открытая на диалоге
    КонецЕсли;

    Если НЕ(ТолькоОстатки = 1) Тогда // флажок диалога Выкл
    ИспользоватьСписокЭлементов();
    Возврат;
    КонецЕсли;

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

    СпТов.ДобавитьЗначение(Спр.ТекущийЭлемент());
    КонецЦикла;

    ИспользоватьСписокЭлементов(СпТов);
    КонецПроцедуры    // УстОтбор
     
  7. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    А этот метод - явно нестандартный.
    Я бы еще предложил рассмотреть интерфейс обращения к иерархической структуре в обработке "Регламентированные отчеты". Его чуть доработать,
    написать стандартное заполнение - и можно пользоваться.
    Еще раз убедился, что без применения 8-й буквы алфавита ИспользоватьСписокЭлементов() употребить вряд ли возможно
     
  8. evgenyatam

    evgenyatam Well-Known Member

    Регистрация:
    7 сен 2007
    Сообщения:
    175
    Симпатии:
    0
    я примерно так и сделал - работает.
    а что за 8-я буква?
     
  9. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Ну, озадачил вопросом ! До восьми сосчитать никак не можешь ?
     
  10. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Возврат Симв(Код("А") +7)
     
  11. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Не сработает -)

    1.Симв(КодСимв("А") +7) - так правильно.
    2. В таком варианте пропускается Ё

    А в русском алфавите Ё - СЕДЬМАЯ буква
     
  12. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Да, с "Ё" неудача)
     
Загрузка...

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