Быстрая сортировка табличной части документа по реквизитам данных (например, номеклатуры)


Надо сортировать табличную часть по артикулу, номеру, модели, полному наименованию — реквизитам карточки номенклатуры и даже по нескольким полям. При этом лень пользоваться построителем для сортировки обычным пользователям. Для этого сделал простую обработку

По мотивам Если шефу хочется секса – ему трудно отказать решил выложить свой механизм быстрой сортировки в табличных частях документов в типовых конфигурациях фирмы 1С. В отличие от идейного источника запись документа не обязательна.

Надо быстро отсортировать табличную часть документа по артикулу, номеру, модели, полному наименованию — реквизитам карточки номенклатуры, которых в самой табличной части нет и даже по нескольким полям в порядке приоритета. Но пользоваться построителем для этого — болит голова у пользователя. Для этого сделал простую и симпатичную обработку за час, которая у внедренцев на проектах пошла на «ура». Поля и их источник надо указывать в коде — это легко подправите если надо. Чтобы не засорять лишними полями сортировки.

1. Сортирует по нескольким полям

2. Запоминает последнюю сортировку, чтобы не настравивать каждый раз заново.

3. Не ломает конфигурацию доп. колонками в табличную часть документа

4 Comments

  1. fuxic

    (1) Eugeneer, легко добавляется сортировка по любым потребностям, это решается уже самим. Иерархия всего лишь ваш случай, не надо ее так выделять. Смысл сделать простую сортировку по самым нужным вещам. Женя, я не ставил себе целью кого-то удивить и уверен многие решали похожие задачи, это сделано под влиянием публикации на которую ссылаюсь для возможности настройки и выбора нескольких полей. Перестаньте меня мотивировать ничего не выкладывать =)

    Reply
  2. fuxic

    (3) Eugeneer, спасибо, Евгений, буду держать в голове и задам вопрос своим внедренцам

    Reply
  3. CheBurator

    автор, сделай уже более продвинутый вариант, добавив возможность сортировать по любому «вложенному» реквизиту… примерно см.здесь http://infostart.ru/public/20280/

    Reply
  4. vladir

    Отличная обработка, спасибо! Подправил немного в модуле объекта:

    НоваяСтрока = ТЗ.Добавить();
    НоваяСтрока.Представление = «Номер»;
    НоваяСтрока.ПутьКДанным = «Номенклатура.Номер»;
    НоваяСтрока.ВидСортировки = «Возрастание»;

    Заменил «Номер» на «Код» . У меня Комплексная автоматизация 1.1 В справочнике Номенклатура нет реквизита «Номер» а сортировка нужна по «Коду».

    Reply

Leave a Comment

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