Сортировка в справочнике по убыванию кода

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

  1. NataTr

    NataTr Гость

    Как установить в справочнике сортировку по убыванию кода или чтобы при открытии справочника происходило позиционирование на последний элемент?
     
  2. LSH

    LSH Гость

    Видимо, стандартной процедурой "Сортировка()" тут не обойтись.

    Можно выпендриться и сделать так:
    1. Создать реквизит справочника типа Строка/Число (в зависимости от того, какой тип у Кода) с признаком "Сортировка"
    2. При записи элемента записывать туда (Максимально_Возможное_Число - Число(Код)). То есть, если у нас Код - тип Число, длина 5, то в этот реквизит записывать=:
    Код: 1
    Реквизит: 99999

    Код: 2
    Реквизит: 99998

    Код: 3
    Реквизит: 99997

    и т.п.

    А дальше просто делаем сортировку по этому реквизиту и у нас получается обратная сортировка по коду.
    А вот как спозиционироваться на последний:
    СпрТ = СоздатьОбъект("Справочник.Товары");
    СпрТ.ПорядокКодов();
    СпрТ.ОбратныйПорядок(1);
    СпрТ.ВыбратьЭлементы();
    СпрТ.ПолучитьЭлемент(); //<< вот он, последний.

    Можно конечно это оптимизировать, но думать лень сейчас :)
     
  3. Isabela

    Isabela Гость

    А симпатичное решение так вот сходу
     
  4. LSH

    LSH Гость

    Isabela Спасибо :)
     
  5. NataTr

    NataTr Гость

    Идея вроде бы правильная, только не работает. Вставила в блок модуля формы списка справочника. Теперь он выглядит так:
    //_____________________________________________________________________________
    Процедура ПриОткрытии() //предопределенная

    Спр=СоздатьОбъект("Справочник.Изделия");
    Спр.ПорядокКодов();
    Спр.ОбратныйПорядок(1);
    Спр.ВыбратьЭлементы();
    Спр.ПолучитьЭлемент(); //<< вот он, последний.

    Активизировать("Наименование",0);
    КонецПроцедуры //ПриОткрытии

    Но при открытии Справочника все равно курсор на первом элементе, а хочу на последнем, чтобы видеть, что было записано последним, а не бог знает когда....
     
  6. LSH

    LSH Гость

    Идея правильная, только исполнена некорректно.


    Процедура ПриОткрытии() //предопределенная

    Спр=СоздатьОбъект("Справочник.Изделия");
    Спр.ПорядокКодов();
    Спр.ОбратныйПорядок(1);
    Спр.ВыбратьЭлементы();
    Спр.ПолучитьЭлемент(); //<< вот он, последний.

    АктивизироватьОбъект(Спр.ТекущийЭлемент());
    КонецПроцедуры //ПриОткрытии
     
Загрузка...
Похожие Темы - Сортировка справочнике по
  1. vera2014
    Ответов:
    0
    Просмотров:
    1.074
  2. Liori
    Ответов:
    2
    Просмотров:
    1.007
  3. FCDK
    Ответов:
    0
    Просмотров:
    1.266
  4. ленарано
    Ответов:
    1
    Просмотров:
    1.105
  5. Creder
    Ответов:
    0
    Просмотров:
    1.347

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