0. fr13 530 13.03.19 12:10 Сейчас в теме

Пакетная сортировка метаданных основной конфигурации и расширений.

Быстрая пакетная сортировка метаданных по алфавиту независимо от конфигурации поставщика. Сравнение производительности алгоритмов на Java и 1C:Enterprise.

Перейти к публикации

Лучшие комментарии
10. fr13 530 14.03.19 05:19 Сейчас в теме
Модератор ИС не пропустил публикацию без файлов.
В прикрепленном файле собранный jar файл на момент создания публикации. Пользуйтесь :)
Прикрепленные файлы:
metadataSorting.zip
Остальные комментарии
Избранное Подписка Сортировка: Древо
1. comol 3813 13.03.19 13:42 Сейчас в теме
(0) а где код на 1С? Предполагаю что я на 1С напишу алгоритм который "сделает это" быстрее чем на Java.
В коде сортировки не должно быть циклов иначе сравнение псевдокода и интерпретатора конечно же некорректно.

А вот если использовать Xpath то тут будет сравнение скорости работы движков. При условии что движок 1С написан на C++ если взята правильная библиотека - я думаю преимущество в скорости будет не за псевдокодом.
2. nixel 683 13.03.19 13:50 Сейчас в теме
3. fr13 530 13.03.19 13:52 Сейчас в теме
(1) Код на 1С реализован частично, о чем написано в публикации.
Если Вы можете что-то сделать лучше - всегда пожалуйста, особено хотелось бы посмотреть как это будет реализовано без циклов.
Если говорить об XPath, то я рассматривал этот вариант, но отказался от него, так как цель была коснольная утилита, а не таблица XSL.
4. dm_romanov.idm 13.03.19 14:06 Сейчас в теме
А чем сортировка метаданных в конфигураторе не устроила?
5. fr13 530 13.03.19 14:49 Сейчас в теме
(4)Если Вы про тот, который осуществляется с помощью синих стрелок, то это слишком трудоемкий процесс в рамках даже небольшой конфигурации.
6. a-novoselov 1069 13.03.19 15:14 Сейчас в теме
8. fr13 530 13.03.19 15:27 Сейчас в теме
(6) вот это я как то упустил ) спасибо )
В любом случае задача утилиты была сделать что-то на ООП языке и только потом практическое применение сделанного.
Так или иначе сделаю многопоточность.
7. dm_romanov.idm 13.03.19 15:21 Сейчас в теме
(5) Рядом есть кнопка "Упорядочить список", которая позволяет сортировать по наименованию, комментарию, синониму.
9. fr13 530 14.03.19 04:55 Сейчас в теме
(7) Я посмотрел эту фичу - это немного не то. Чтобы упорядочить реквизиты объекта - нужно выделить его и дальше сделать еще пару клиеов. В моей реализации все объекты и их реквизиты сортируются полностю автоматически.
11. Vladimir Litvinenko 1596 14.03.19 17:24 Сейчас в теме
(9) Разработка интересная, но согласно стандартам разработки только объекты метаданных верхнего уровня должны быть упорядочены по имени в алфавитном порядке. Реквизиты объектов должны располагаться в соответствии с их прикладным смыслом, что бы это не значило ))

Например, реквизиты ДатаВходящегоДокумента и НомерВходящегоДокумента следует располагать непосредственно друг за другом, независимо от наличия реквизита ДатаРожденияКлиента и НомерАвтомобиля, которые при упорядочивании по алфавиту встрянут между ними.

При проектировании регистров упорядочивание следует выполнять исходя из требований к индексам таблиц.

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

2.3. Объекты метаданных верхнего уровня, такие как Справочники, Документы, Общие модули и т.д. рекомендуется сортировать в дереве метаданных по имени. Подчиненные объекты метаданных, такие как реквизиты, измерения, формы, располагаются в дереве метаданных в соответствии с проектной логикой.
https://its.1c.ru/db/v8std#content:2149184116:hdoc
12. fr13 530 14.03.19 17:48 Сейчас в теме
(11)Спасибо за комментарий.
Измерения регистров конечно же пропускаются при сортировке.
10. fr13 530 14.03.19 05:19 Сейчас в теме
Модератор ИС не пропустил публикацию без файлов.
В прикрепленном файле собранный jar файл на момент создания публикации. Пользуйтесь :)
Прикрепленные файлы:
metadataSorting.zip
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Нижний Новгород
зарплата до 120 000 руб.
Полный день

Программист 1С
Волгоград
зарплата от 45 000 руб. до 90 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Консультант-аналитик 1С
Москва
зарплата от 70 000 руб. до 100 000 руб.
Полный день

Программист 1С
Москва
зарплата от 80 000 руб. до 120 000 руб.
Временный (на проект)