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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.05.2009, 12:07   #1  
V.Yelkin is offline
V.Yelkin
Участник
 
26 / 10 (1) +
Регистрация: 01.10.2008
Нумерация ТМЦ
Коллеги, добрый день.

Вопрос такой. Есть классификация ТМЦ по круппным группам и внутри групп по подгруппам. Можно ли нумерацию в справочнике номенклатуры автоматизировать? К примеру: код ТМЦ состоит из буквы (разные группы - разные буквы) П (питание), вторые две цифры - определяют принадлежность к подгруппе - 01, 02, 03 и т.п. И следующие три символа - порядковый номер.
Таким образом получаем составной код П01001, П01002, П01003 и т.п. Можно ли при вводе тмц формировать следующим образом - руками вводятся первые три символа П01 - остальные три формируются автоматически? Порядковая нумерация.
Или необходимо программировать? (Чует моё сердце, что необходимо)
Спасибо.
Старый 21.05.2009, 13:24   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от V.Yelkin Посмотреть сообщение
Или необходимо программировать? (Чует моё сердце, что необходимо)
Необходимо, поскольку ваша хотелка нарушает несколько основополагающих принципов.

Цитата:
Сообщение от V.Yelkin Посмотреть сообщение
Можно ли нумерацию в справочнике номенклатуры автоматизировать?
Можно, но не нужно.
См. как сделана нумерация русских ОС в зависимости от группы.

Цитата:
Сообщение от V.Yelkin Посмотреть сообщение
К примеру: код ТМЦ состоит из буквы (разные группы - разные буквы) П (питание), вторые две цифры - определяют принадлежность к подгруппе - 01, 02, 03 и т.п. И следующие три символа - порядковый номер.
Таким образом получаем составной код П01001, П01002, П01003 и т.п.
Составной код - нарушает первый и базовый принцип нормализации реляционных баз данных, который гласит, что в ячейке должно быть атомарное значение.

Дальнейшие сложности связаны с тем, что вы делаете свою базу ненормализованной.


Цитата:
Сообщение от V.Yelkin Посмотреть сообщение
Можно ли при вводе тмц формировать следующим образом - руками вводятся первые три символа П01 - остальные три формируются автоматически? Порядковая нумерация.
Можно, но не нужно.
Насколько я понимаю, первые три символа - это некая группа.
Дык, вот. Не парьтесь. Просто добавьте еще одно поле (группа/подгруппа) или два поля (группа/подгруппа). Пусть пользователи вводят этот признак в отдельные поля.

У вас сразу появится возможность сортировки, отбора, переименования групп/подгрупп. Вы сможете управлять индексами по этим полям, Вы сможете... Вы сможете.... Вы сможете использовать все богатство возможностей реляционных баз данных. (Ищите на форуме темы про составные ключи и нормализацию)

Если вам нужно выводить на печать, то сделайте метод, который будет выводить не одно поле Код, а строку из двух-трех полей (Группа-Подгруппа-Код).

Ни в коем случае не делайте display-метод для вставки в формы. Потеряете возможность отбора, сортировки.

==========
Если вам так хочется подчиненную нумерацию внутри групп, то рисуйте форму создания (типа создания заказа) в которой запрашивайте сначала группы/подгруппы, а потом создавайте номер (см. нумерацию в русских ОС).

НО!!!! подчиненная нумерация - коварная штука. Что вы будете делать, если номенклатуру надо будет перенести в другую группу/подгруппу?


==================
рекомендация:
1. не мучайтесь с составным кодом, а добавьте несколько полей для группировок
2. не мучайтесь с подчиненной нумерацией, оставьте уникальность в пределах всего справочника
3. добавьте метод, который печатает составной код в отчетах
4. добавьте relationы и поля групп в формы, где пользователи видят список номенклатуры и хотят отбирать группы.

Читайте http://axapta.mazzy.ru/lib/tree/
http://axapta.mazzy.ru/lib/tree2/
http://axapta.mazzy.ru/lib/tree3/
__________________
полезное на axForum, github, vk, coub.
Старый 21.05.2009, 14:14   #3  
V.Yelkin is offline
V.Yelkin
Участник
 
26 / 10 (1) +
Регистрация: 01.10.2008
Сергей, большое спасибо. Очень сильно Вы меня испугали нарушениями принципов... Когда смотрели майкрасофтовскую демо базу по логистике, там коды ТМЦ были следующие "лампочки 100 вт", "лампы с абаж" и т.п. Вот таки коды меня испугали... Уникальность у нас соблюдается, это однозначно. Вопрос о переносе из группы в группу не возникал (как и много других вопросов, пока не копнешь глубже). Дополнительные поля на ТМЦ для групп, подгрупп и т.п. добавлены. Сергей, спасибо.
П.С. Нумерацию русских ОС глянем.
Старый 21.05.2009, 14:26   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от V.Yelkin Посмотреть сообщение
Когда смотрели майкрасофтовскую демо базу по логистике, там коды ТМЦ были следующие "лампочки 100 вт", "лампы с абаж" и т.п.
Эти коды из dax4.... ***матюги-поскипаны*** ...В общем, их перевели переводчики, а потом не дали изменить.

в dax3.0 над справоничками работали не только переводчики
поэтому там коды более похожи на коды.
См. http://axapta.mazzy.ru/lib/autonumber/
Нажмите на изображение для увеличения
Название: 1.PNG
Просмотров: 486
Размер:	47.0 Кб
ID:	4716

Тут что можно посоветовать.
Во-первых, в Аксапте есть специальное поле SearchName (Поисковое наименование, Краткое наименование). Предполагается, что компьютер создает некий автоматический код, а человек в поисковое наименование ставит то, что ему нравится.

Поисковое наименование можно использовать вместо кода.
Попробуйте сделать так, как на рисунке и переместите фокус из поля с кодом.
Нажмите на изображение для увеличения
Название: 2.PNG
Просмотров: 450
Размер:	55.1 Кб
ID:	4717

Второй вариант кодировки заключается в следующем.
Коды, сформированные автоматически можно переименовать при помощи RenamePrimaryKey. Т.е. поставить осмысленный код можно и позже. Но тут надо помнить, что RenamePrimaryKey достаточно тяжелая операция, которая потенциально может сильно нагрузить базу.
Название: 3.PNG
Просмотров: 1755

Размер: 38.4 Кб
__________________
полезное на axForum, github, vk, coub.
Старый 21.05.2009, 15:24   #5  
dim123 is offline
dim123
Участник
 
61 / 9 (1) +
Регистрация: 08.08.2005
не согласен с вами
Ахапта консультаны предлагают решения которые часто совместимы с реальной деиствительностью.
Предприятие строит свою структуру номенклатуры . простым рабочим которые работают с данной номенклатурой лудше
исползовать G001T0001 kod чем вами предложеный вариант. Изменений меньше ( не надо все отчеты изменять)

SQL все равно какие значения в ITEMID ( varchar ) . Никаких оснавных правил не нарушено .

При переносе в другую группу должен меньятса код ТОВАРА . Если просто изменить группу то прошедшии отчеты будут неправильны .
Правильны будут только в том случае если везде во всех проводках будет указана группа и подгруппа во всех таблитсах
За это сообщение автора поблагодарили: RumataEstor (-1).
Старый 21.05.2009, 19:01   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от dim123 Посмотреть сообщение
простым рабочим которые работают с данной номенклатурой лудше исползовать G001T0001 kod чем вами предложеный вариант.
"Использовать" - вовсе не означает "хранить"

кроме того, опыт подсказывает, что простым рабочим чертовски неудобно работать с нулями, считать их Я бы еще понял GT21, но G001T0001 - Это точно издевательство. Это я вам говорю, как человек, который с 20 значными расчетными счетами работает. Это я вам говорю, как человек, который видел и общался с пользователями на нескольких десятках предприятиях
__________________
полезное на axForum, github, vk, coub.
Старый 22.05.2009, 09:18   #7  
dim123 is offline
dim123
Участник
 
61 / 9 (1) +
Регистрация: 08.08.2005
mazzy
тут дело не в удобстве .
1) Если предприятие имеет свою логику номенклатуры ее в 90% случаев менять не желательно и вредно
2) Да, пользователь и простые рабочие ето разные веши Простые рабочие если привыкли к конкретним правилам их переход на новую систему даже простых кодов очень не прост ( ето не квалифитсырованые которые ежедневно работают с этими вне системы )
3) если номенклатура привязана к price list , то ето дополнительный гимор . так как со всеми поставщеками закупщиками надо согласовати новые коды или опять же много менять или настраивать ахапту
Теги
иерархия, нумерация

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Автоматическая нумерация партии для расхода в заказе KiselevSA DAX: Программирование 7 24.06.2009 13:43
Нумерация ПКО и РКО в Axapt'e Dime DAX: Функционал 1 15.07.2005 20:38
Может ли сбиваться нумерация пакетов журналов chel DAX: Функционал 2 24.03.2004 03:39
Начальный ввод остатков ТМЦ tolstjak DAX: Функционал 31 08.10.2003 20:39
учёт ТМЦ на забалансовых счетах medas DAX: Функционал 2 09.07.2003 14:43

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

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

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