Сортировка в программе по разным полям

Ирина

Модератор
Здравствуйте, уважаемые разработчики!
Ситуация такая. Есть официальный сайт правительства, где ежедневно публикуются все законы. Как правило, дата официального опубликования и дата вступления в силу в законах разная.
Например, сегодня 24.05.2023 опубликовано 32 закона. Их них вступают в силу:
- 24.05.2023 - 5 законов,
- 01.07.2023 – 9 законов,
- 12.09.2023 – 1 закон,
- 01.01.2024 – 10 законов,
- 01.05.2024 – 7 законов.

Создан раздел "Новости", в котором сортировка по убыванию в хронологическом порядке настроена по:
1 - дате публикации законов,
2- дате вступления в силу законов.

НПА.png

Дата публикации законов первая по сортировке, т.к. по этой дате идет рассылка новостей (новости за текущий день).
А вот 2-я сортировка по дате вступления в силу нужна для публикации новостей в хронологическом порядке на сайте. Т.е. в программе создается реестр по всем новым новостям и в хронологическом порядке добавляется на сайт (хотя сами новости выходят в разнобой).
Реестр создается через шаблон Word, т.к. опять в одном столбце нужно размещать несколько полей с новых абзацев со своим уникальным оформлением (цвет, шрифт и т.д.)
Также в шаблоне Word создан технический столбец с датой вступления в силу ([Действует с]). Этот столбец нужен для сортировки указанной даты на вкладке "Макет" после формирования шаблона. Все отлично работает.
Но т.к. все новости размещаются строго по разделам, которых на данный момент 50 (и это только начало), а новостей бывает в некоторые дни "ужасно" много, то попыталась автоматизировать сортировку по второй дате (дате вступления в силу). Записываю макрос, но он не работает.
Правильно понимаю, что макрос не работает, потому что не понимает, что поле [Действует с]это поле даты или я всё-таки неправильно записываю макрос?

В итоге возник вопрос, возможно ли когда-нибудь реализовать в конструкторе сортировку не только в структуре проекта (там она точно нужна), но и ещё и в форме связи?
Названия полей, которые видны в списке, чтобы были так сказать "активные" по сортировке, как например в Windows, когда открываешь папку с файлами.
P.S. То что в конструкторе можно сделать, что невозможно в других программах, уже факт и огромная мощь. Знаю, что Вы не пытаетесь повторить сторонние программы, но т.к. не могла правильно описать последнее предложение, привела пример с Windows :rolleyes:
Спасибо
 

Ирина

Модератор
Решила вопрос с макросом в Word. Он действительно не срабатывает автоматически, т.к. предполагала выше, "не видит" ("не понимает"), что поле [Действует с] - это дата.
Зато макрос работает вручную через функцию "Выполнить". ? А это существенно сократило время обработки реестра. Теперь не нужно при каждом формировании реестра лезть в контекстное меню Word "Заменить" (для выделения цветом) и вкладку "Макет" (для установки сортировки).
Макрос записала с 2 функциями:
- выделение цветом нужных слов (новости, которые ещё не размещены на сайте),
- сортировка дат по убыванию (для соблюдения хронологии дат вступления в силу).
 

Vladimir

Администратор
Команда форума
Добрый день, Ирина!
Очень рады тому, что Вы нашли для себя приемлемое решение.
Вопрос сортировки стоит уже с момента создания конструктора, и его решение для нас очевидным изначально не было.
Дело в том, что зачастую необходима сортировка по двум и более полям. И нам надо было выбирать: давать сортировать по нескольким полям, или по одному. На основании своего опыта выбор был сделан в пользу первого варианта. Но невозможность выбора интерактивной сортировки была озвучена возмущёнными пользователями не один раз.
Также были нюансы с выборкой и отображением данных при числе данных, большем, чем допускает пейджинг.
У нас уже было несколько подходов к решению этого вопроса в 7-ой версии, но в последнем случае, на мой взгляд, мы нашли оптимальное решение: разработчику будет предоставлена возможность настроить несколько вариантов сортировки, каждый из которых может включать в себя любое число полей, и выбор каждого варианта будет осуществляться по кнопке, открывающей список предопределённых вариантов.
 
Сверху Снизу