gifts2017

Сортировка метаданных с учетом префиксов

Опубликовал Максим Ивирсин (Mavin) в раздел Программирование - Практика программирования

При подготовке конфигурации на 1С:Совместимо имеется такое требование, чтобы объекты метаданных были отсортированы по алфавиту, при этом для новых объектов должны быть добавлены префиксы и в дереве метаданных они должны находится в конце. Для решения данной задачи или просто для организации подобной сортировки пришла следующая простая идея.

Для решения подобной задачи, сперва просто пользовался типовой сортировкой метаданных, а потом уже вручную свои объекты перемещал вниз дерева метаданных и уже там также вручную сортировал внутри префикса. Когда своих объектов не так много, то таким способом можно достаточно быстро произвести сортировку, а вот когда количество своих объектов возрастает, то это превращается попросту в ручную сортировку.

Потом пришла следующая идея:

  1. Итак, пусть в конфигурации есть типовые объекты и наши с префиксом, например «АА_».
  2. Воспользуемся групповой заменой и установим, что будем замену производить только в свойствах. Сделаем замену «АА_» на «яяАА_», чтобы наши элементы перенестлись в конец.
  3. Отсортируем типовым способом во всех ветках метаданных.
  4. Снова сделаем обратную групповую замену «яяАА_» на «АА_».
  5. Все, получили что хотели.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Капустин (kapustinag) 18.09.12 23:01
Идея вроде на поверхности, но как-то в голову не пришла, когда было нужно...
2. Александр Думов (Akteur33) 05.05.14 14:23
Спасибо за простую и отличную идею!
3. Михаил Кузнецов (hotey) 14.08.14 05:39
Спасибо за хинт!
Интересно, у Снегопата какого-нибудь или его аналогов есть возможность сделать это в 1-2 клика?..
Например, задаешь где-то в настройках свой префикc[ы] объекта и при вызове команды он твои объекты выкидывает в конец, упорядочивая их по имени.
4. Krot B4 (KRaSH13) 19.10.15 09:26
Идея хороша, если бы не одно большое НО: при групповой разработке заниматься переименованием всех "своих" объектов означает обязательное освобождение их от захвата в хранилище другими разработчиками.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа