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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.09.2010, 11:56   #1  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
? Принадлежит ли код определенной номерной серии?
Как можно проверить принадлежит ли код определенной номерной серии?

Допустим есть код: "AZ12345"
Я думаю, что это код принадлежит номерной серии по EDT ItemID

У кого нибудь есть мысли?
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.
Старый 23.09.2010, 12:05   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Poleax Посмотреть сообщение
Как можно проверить принадлежит ли код определенной номерной серии?
при условии, что настройки номерных серий не менялись?
__________________
полезное на axForum, github, vk, coub.
Старый 23.09.2010, 12:06   #3  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
уточняющий вопросик, этот код берется не пойми откуда? или мы знаем поле и таблицу из которого этот код взялся?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 23.09.2010, 12:10   #4  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Может быть поможет.
X++:
NumberSeq::numCheckFormat(...)
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: mazzy (2), Poleax (4).
Старый 23.09.2010, 12:11   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Poleax Посмотреть сообщение
Допустим есть код: "AZ12345"
Я думаю, что это код принадлежит номерной серии по EDT ItemID
1. выделить цифры,
2. заменить их на #
3. найти такой шаблон в таблице NumberSequenceTable (подходящих записей может быть много)
4. найти в таблице NumberSequenceReference все записи, у которых поле NumberSequence совпадает с таблицей NumberSequenceTable.
5. поле NumberSequenceReference.DataTypeID дает коды типов.


Внимание: на шаге 2 не забыть что кроме символа # в шаблоне может быть символ &. Если & используется в шаблонах, то все намного сложнее.
http://axapta.mazzy.ru/lib/numbersequenceformat/
__________________
полезное на axForum, github, vk, coub.
Старый 23.09.2010, 12:32   #6  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Пришла такая мысль:
X++:
NumberSequenceTable::find("AZ12345").NumberSequence
__________________
С уважением, Александр.
Старый 23.09.2010, 12:39   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от samolalex Посмотреть сообщение
Пришла такая мысль:
X++:
NumberSequenceTable::find("AZ12345").NumberSequence
не, на вход find подается название номерной серии, а не номер, сгенеренный на основании ее.
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: samolalex (1).
Старый 23.09.2010, 13:06   #8  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от SRF Посмотреть сообщение
Может быть поможет.
X++:
NumberSeq::numCheckFormat(...)
Прям в точку
X++:
    str                 numCode = "AZ12345";
    NumberSequenceTable _numberSequenceTable;
    ;

    _numberSequenceTable = NumberSequenceTable::find(NumberSeqReference::findReference(extendedTypeNum(ItemID)).NumberSequence);

    if (NumberSeq::numCheckFormat(numCode, _numberSequenceTable))
    {
        //..........  Да
    }
    else
    {
        //..........  Нет
    }
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.

Последний раз редактировалось Poleax; 23.09.2010 в 13:44. Причина: extendedTypeNum(ItemID)
Теги
номерная серия

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Пропуски в непрерывной номерной серии JBOS DAX: Функционал 0 30.07.2009 10:07
Получение последнего номера из номерной серии longson DAX: Программирование 12 21.06.2007 13:30
Как получить следующий код номерной серии? mvf DAX: Программирование 8 21.07.2005 13:55
Непрерывность номерной серии YaHooka DAX: Функционал 7 30.06.2005 18:04
Резервирование 10000 номеров из номерной серии demID DAX: Программирование 1 16.08.2004 12:29

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:47.