05.09.2022, 10:39 | #1 |
Участник
|
Контроль превышения номерных серий
Привет!
Может кто-то сможет поделиться : нужен джоб, который выведет все расширенные типы данных, длина которых 10 символов, и которые привязаны к номерным сериям. Версия Аксапты не важна. Надо увеличивать длину строки.
__________________
Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/ |
|
05.09.2022, 16:01 | #2 |
Участник
|
Почему не важна версия?
В 2012 типы, привязанные к номерным сериям находятся в таблице NumberSequenceDatatype, а в предыдущих версиях в таблице NumberSequenceReference. Пока вижу вариант "в лоб" - пробег по этим таблицам и создание new DictType(курсор.DatatypeId) с изучением его свойств. |
|
05.09.2022, 17:09 | #3 |
Участник
|
Еще не понятно ограничение 10 символами именно ЕDT поля. Номерная серия сама по себе может быть меньше по количеству символов в меняющейся части. Для контроля лучше смотреть разницу между максимальным значением номерной серии и текущим
|
|
05.09.2022, 18:48 | #4 |
Участник
|
А можно уточнить о чем именно идет речь?
1. Настройка и EDT самой номерной серии 2. Поля таблиц, в которые записывается значение номерной серии В общем случае, это разные EDT никак между собой не связанные
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: sukhanchik (2). |
05.09.2022, 22:53 | #5 |
Участник
|
Версия AX2012 R3.
Ограничение EDT в 10 символов имеет значение потому, что когда номерная серия иссякает, и пользователь пытается добавить лишний знак # в сегменте, то Аксапта ругается, что "одна или несколько ссылок, использующих текущую номерную серию, имеют недостаточную длину". Пользователи хотят сами увеличивать количество символов # в сегменте без привлечения программистов. Но приходится увеличивать длину EDT и синхронизировать из-за этой ошибки. Но я спрашивал без идеологии, может просто у кого-то есть такой джоб. Чтобы выявить все такие EDT, единоразово у них увеличить длину и синхронизировать базу. Клиенту настроили Аксапту (не я) с номерными сериями с максимумом 999999, маской ###### и префиксом, состоящим из 4-х букв. В результате через несколько лет работы иногда приходится подкручивать номерные серии, добавлять 7-й символ #. И пользователи это хотят делать без участия программиста.
__________________
Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/ Последний раз редактировалось Ace of Database; 05.09.2022 в 22:56. |
|
06.09.2022, 05:13 | #6 |
Участник
|
Увеличивать EDT без участия программиста - имхо, не самая лучшая идея.
|
|
06.09.2022, 07:28 | #7 |
Участник
|
Ну все EDT, используемые в номерных сериях только через привязку по модулям автоматом не выявишь.
Всё равно есть еще разные использования номерных серий. Например, для ваучеров ГК номерные серии еще задаются в наименованиях журналов разных типов, есть еще разные места, где номерная серия задается не через привязку по модулям. Кстати, только синхронизации после изменения длины EDT в 2012 не хватит. Явно нужна компиляция, как минимум, ветки Query, но лучше глобальная компиляция с пересборкой CIL. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2). |
06.09.2022, 07:36 | #8 |
Участник
|
Ну и, наверняка, во многих случаях менять придется не сам EDT. Куча EDT, используемых в номерных сериях расширяются от других, например от SysGroup, которая по умолчанию 10 символов.
Но, с другой стороны, не каждый наследник SysGroup используется в номерных сериях. |
|
|
За это сообщение автора поблагодарили: sukhanchik (4). |
06.09.2022, 09:27 | #9 |
Administrator
|
Цитата:
1. Цитата:
Цитата:
Сообщение от Raven Melancholic
Ну все EDT, используемые в номерных сериях только через привязку по модулям автоматом не выявишь.
Всё равно есть еще разные использования номерных серий. Например, для ваучеров ГК номерные серии еще задаются в наименованиях журналов разных типов, есть еще разные места, где номерная серия задается не через привязку по модулям. 4. А если не соберете CIL после этого - то у Вас "свалятся" SSRS / пакетники в ошибку, когда код в пакетнике / в DP-классе SSRS-отчета в упор будет считать, что EDT не расширен и обрезать данные.
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 07.09.2022 в 07:26. |
|
06.09.2022, 12:10 | #10 |
Участник
|
Цитата:
Всем спасибо! Отрицательный ответ - тоже ответ .
__________________
Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/ |
|