Сортировка метаданных с учетом объектов на замке
Разработка - Инструментарий разработчика
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Некогда была опубликована короткая и очень полезная статья про сортировку метаданных с учетом префиксов Сортировка метаданных с учетом префиксов
В данной статье я хотел бы немного расширить ее.
Все конфигурации в данном примере созданы самостоятельно и не имеют никакого отношения к типовым конфигурациям.
Тестировалось на платформе 8.3.11.2954
Итак, допустим, имеется конфигурация, содержащая несколько конфигураций поставщиков (для примера я использовал только справочники).

Намеренно изменим порядок объектов:

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

Также для скорости следует указывать поиск и замену не во всей конфигурации, а установив отбор по подсистемам. В этом случае, конечно надо быть уверенным, что все объекты корректно разнесены по подсистемам:
(в своих файлах я не стал разносить объекты по подсистемам)

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

Нет смысла их переименовывать обратно, т.к. это, как минимум, утомительно :)
Выгружаем полученный cf файл.
Заходим в основную конфигурацию с неотсортированными объектами и выбираем «Сравнить объединить с конфигурацией из файла». Т.к. идентификаторы объектов не изменены, то сопоставление объектов произойдет корректно.
Примечание: Если конфигурация подключена к хранилищу, то достаточно будет захватить только корень.
В окне сравнения снимаем все галки, а вот общий порядок устанавливаем «Из файла»:

Нажимаем выполнить и любуемся отсортированными данными.
При этом cf файл с переименованными объектами метаданных желательно сохранить, т.к. с помощью него можно будет быстро восстановить порядок объектов метаданных, т.к. при очередном обновлении какой-то конфигурации поставщика разработчик при сравнении объединении может забыть установить порядок «из основной конфигурации» и порядок установится «из файла».
Вступайте в нашу телеграмм-группу Инфостарт