AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.09.2022, 10:39   #1  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Контроль превышения номерных серий
Привет!
Может кто-то сможет поделиться :
нужен джоб, который выведет все расширенные типы данных, длина которых 10 символов, и которые привязаны к номерным сериям.
Версия Аксапты не важна.
Надо увеличивать длину строки.
__________________
Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/
Старый 05.09.2022, 16:01   #2  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Почему не важна версия?
В 2012 типы, привязанные к номерным сериям находятся в таблице NumberSequenceDatatype, а в предыдущих версиях в таблице NumberSequenceReference.

Пока вижу вариант "в лоб" - пробег по этим таблицам и создание new DictType(курсор.DatatypeId) с изучением его свойств.
Старый 05.09.2022, 17:09   #3  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,731 / 406 (17) +++++++
Регистрация: 23.03.2006
Еще не понятно ограничение 10 символами именно ЕDT поля. Номерная серия сама по себе может быть меньше по количеству символов в меняющейся части. Для контроля лучше смотреть разницу между максимальным значением номерной серии и текущим
Старый 05.09.2022, 18:48   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,688 / 1192 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
А можно уточнить о чем именно идет речь?

1. Настройка и EDT самой номерной серии
2. Поля таблиц, в которые записывается значение номерной серии

В общем случае, это разные EDT никак между собой не связанные
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: sukhanchik (2).
Старый 05.09.2022, 22:53   #5  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Версия 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  
Pandasama is offline
Pandasama
Участник
 
456 / 134 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Увеличивать EDT без участия программиста - имхо, не самая лучшая идея.
Старый 06.09.2022, 07:28   #7  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Ну все EDT, используемые в номерных сериях только через привязку по модулям автоматом не выявишь.
Всё равно есть еще разные использования номерных серий. Например, для ваучеров ГК номерные серии еще задаются в наименованиях журналов разных типов, есть еще разные места, где номерная серия задается не через привязку по модулям.

Кстати, только синхронизации после изменения длины EDT в 2012 не хватит. Явно нужна компиляция, как минимум, ветки Query, но лучше глобальная компиляция с пересборкой CIL.
За это сообщение автора поблагодарили: sukhanchik (2).
Старый 06.09.2022, 07:36   #8  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Ну и, наверняка, во многих случаях менять придется не сам EDT. Куча EDT, используемых в номерных сериях расширяются от других, например от SysGroup, которая по умолчанию 10 символов.
Но, с другой стороны, не каждый наследник SysGroup используется в номерных сериях.
За это сообщение автора поблагодарили: sukhanchik (4).
Старый 06.09.2022, 09:27   #9  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,305 / 3538 (124) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Ace of Database Посмотреть сообщение
Но я спрашивал без идеологии, может просто у кого-то есть такой джоб.
Такой джоб технически невозможно написать, потому что:
1.
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Ну и, наверняка, во многих случаях менять придется не сам EDT. Куча EDT, используемых в номерных сериях расширяются от других, например от SysGroup, которая по умолчанию 10 символов.
Но, с другой стороны, не каждый наследник SysGroup используется в номерных сериях.
2.
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Ну все EDT, используемые в номерных сериях только через привязку по модулям автоматом не выявишь.
Всё равно есть еще разные использования номерных серий. Например, для ваучеров ГК номерные серии еще задаются в наименованиях журналов разных типов, есть еще разные места, где номерная серия задается не через привязку по модулям.
3. Даже если Вы просто вручную расширите только EDT Name, то у Вас свалится компиляция на узле Query (есть еще EDT, не являющийся наследником Name, без синхронного увеличения которого Вы не добьётесь отсутствия ошибок компиляции). А если Вы расширите какой-то EDT, который влияет на Query (из-за которого Query перестанет компилироваться), который в свою очередь влияет на View - то у Вас и синхронизация свалится.

4. А если не соберете CIL после этого - то у Вас "свалятся" SSRS / пакетники в ошибку, когда код в пакетнике / в DP-классе SSRS-отчета в упор будет считать, что EDT не расширен и обрезать данные.
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 07.09.2022 в 07:26.
Старый 06.09.2022, 12:10   #10  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
873 / 649 (23) +++++++
Регистрация: 14.10.2004
Цитата:
Сообщение от Pandasama Посмотреть сообщение
Увеличивать EDT без участия программиста - имхо, не самая лучшая идея.
Нужно единоразово с участием программиста увеличить до 20 символов EDT, которые привязаны к номерным сериям, . С компиляцией, сборкой CIL и т.д. Чтобы потом пользователи без участия программиста смогли увеличивать длину сегмента номерных серий.

Всем спасибо! Отрицательный ответ - тоже ответ .
__________________
Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX2012 R2 Не работает функционал групп номерных серий Kabardian DAX: Функционал 2 23.05.2014 14:33
Несколько номерных серий для одного документа breakpoint DAX: Программирование 17 12.03.2009 16:42
Перенумерация номерных серий Berkoff DAX: Программирование 5 27.01.2005 01:08
Как работает формат номерных серий? alpin DAX: Функционал 8 19.12.2003 19:51
Группа номерных серий Swetik DAX: Функционал 0 05.08.2003 09:03

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:47.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.