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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.11.2003, 21:15   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Советы: Коды клиентов и поставщиков
http://axapta.mazzy.ru/hints/autonumber/
__________________
полезное на axForum, github, vk, coub.
Старый 10.02.2004, 16:52   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
в презентации по Microsoft Business Framework (MBF.ppt)
Microsoft Business Framework presentations

на 13 слайде нашел новый для меня способ кодировки.
Все очень просто. Кодировка похожа на кодировку длинных имен файлов в досовском формате.

Забавный компромисс.
Во-первых, такие коды система может генерировать автоматически.
Во-вторых, такие коды остаются мнемоническими и понятными для человека.
Изображения
 
__________________
полезное на axForum, github, vk, coub.
Старый 10.02.2004, 16:58   #3  
komar is offline
komar
Шаман форума
Аватар для komar
Ex AND Project
 
5,571 / 600 (32) +++++++
Регистрация: 24.05.2002
А что есть в данном случае 001? И как система этот 001 должна формировать?
И совсем не согласен с мнемоникой для номенклатуры. Кодировка номенклатуры может содержать указание на товарную группу, подгруппу и т.п., но само наименование номенклатуры в коде участвовать не должно. Да и группа-подгруппа пусть лучше будет числом. Судя по кодировке большинства поставшиков с большой номенклатурой, они со мной согласятся
__________________
All information in this post is strictly confidential. If you have read it in error, please forget it immediately.
Старый 10.02.2004, 17:04   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
а также как и для длинных имен файлов в дос.
Алгоритм генерации кода:
1. выбросить спецсимволы из наименования
2. оставить заданное количество символов слева
3. добавить к наименованию номер 0001
4. найти такой код
5. если найдено
6. то перейти к увеличить номер и переходит к шагу 4.
7. иначе конец алгоритма генерации кода

Этот алгоритм обладает одним недостатком - он может работать очень долго, если наименования похожи. Например, если мы используем три символа слева и все наши контрагенты начинаются с ООО , то алгоритм будет просматривать весь список. Что плохо.

Но коды создаются не часто... поэтому это не очень актуально.
__________________
полезное на axForum, github, vk, coub.
Старый 10.02.2004, 17:38   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
хотя, если подумать, то алгоритм можно сделать гораздо эффективнее, если не перебирать код по единице, а заставить SQL-сервер найти максимальную строку с заданным префиксом.

Таким образом, можно избавиться от цикла на клиентской части и переложить заботу по поиску последнего номера на SQL.

1. выбросить спецсимволы из наименования
2. оставить заданное количество символов слева
3. найти максимальный код с префиком, полученным на шаге 3.
4. ...пусто...
5. выделить номер
6. увеличить номер на 1
7. конец алгоритма генерации кода
__________________
полезное на axForum, github, vk, coub.
Старый 10.02.2004, 17:41   #6  
komar is offline
komar
Шаман форума
Аватар для komar
Ex AND Project
 
5,571 / 600 (32) +++++++
Регистрация: 24.05.2002
Но это означает отказ от алгоритма номерных серий! В Навижн это стоит некоторых глюков!
__________________
All information in this post is strictly confidential. If you have read it in error, please forget it immediately.
Старый 10.02.2004, 17:57   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
дык, не везде же отказ от нумераторов. а только в справочниках.
почитай статью. ссылка в первом сообщении.

Да, в навижине надо подумать. В текущей версии Навижина такой совет я бы давать поостерегся...
__________________
полезное на axForum, github, vk, coub.
Старый 12.02.2004, 23:33   #8  
Тимур_imported is offline
Тимур_imported
Участник
 
487 / 10 (1) +
Регистрация: 18.12.2003
По моей практике "осмысленное" кодирование справочников поставщиков, клиентов и особенно номенклатурных единиц - вещь спорная.
Представьте, что в Axapta нельзя изменить код записи в этих справочниках. Так вот если клиента переименовывают в связи с изменением его как юридического лица (смена формы орг.правовой формы, слияние, разделение, передача обязательств другому лицу и др.), то получается что осмысленная кодировка уже не поможет. И Вы бы ориентировались либо на поисковое имя или еще на какой-то признак.
С товарами, особенно расходными материалами у железячных компаний, тоже самое: дискеты были BASF - стали EMTEC. Здесь же всплывают проблемы замен, альтернатив и единиц учета (не путать с единицами измерения!).
Код, генерируемый автоматически непрерывно, полезен тем, что на него можно сориентироваться, когда вдруг встает вопрос о том, когда этот товар появился в справочнике (Серии действуют определенное время скажем).
В производственных предприятиях вообще "осмысленную кодировку" не примут ни конструкторы, ни производственники.
В оптовой торговле, там где был и есть силен, Коламбус, на пример которого опирается Сергей, "осмысленная" кодировка может и удобна. Это из той оперы когда половина первички в Аксапте по-прежнему для оптово-розничных предприятий.
__________________
Легкие,воздушныейогурты
Старый 13.02.2004, 00:10   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Тимур
Представьте, что в Axapta нельзя изменить код записи в этих справочниках.
Тимур, возможно я совсем заработался и окончательно туплю...

А зачем это представлять? Ведь код то поменять можно.
Или ты так, в общем случае?
__________________
полезное на axForum, github, vk, coub.
Старый 13.02.2004, 15:02   #10  
komar is offline
komar
Шаман форума
Аватар для komar
Ex AND Project
 
5,571 / 600 (32) +++++++
Регистрация: 24.05.2002
Цитата:
Сообщение от Тимур
В производственных предприятиях вообще "осмысленную кодировку" не примут ни конструкторы, ни производственники.
В оптовой торговле, там где был и есть силен, Коламбус, на пример которого опирается Сергей, "осмысленная" кодировка может и удобна. Это из той оперы когда половина первички в Аксапте по-прежнему для оптово-розничных предприятий.
Про номенклатуру - там лучше числовая.
Числовая кодировка потому и была придумана в свое время, как наиболее универсальная. Имеется многосегментный код, каждый сегмент что-то обозначает. Если начинаем туда включать буквы - в какой-то момент начинаем сталкиваться с повторяющимися названиями, или вынуждены увеличивать величину кода. С цифрами легче.
__________________
All information in this post is strictly confidential. If you have read it in error, please forget it immediately.
 


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

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

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