21.05.2009, 12:07 | #1 |
Участник
|
Нумерация ТМЦ
Коллеги, добрый день.
Вопрос такой. Есть классификация ТМЦ по круппным группам и внутри групп по подгруппам. Можно ли нумерацию в справочнике номенклатуры автоматизировать? К примеру: код ТМЦ состоит из буквы (разные группы - разные буквы) П (питание), вторые две цифры - определяют принадлежность к подгруппе - 01, 02, 03 и т.п. И следующие три символа - порядковый номер. Таким образом получаем составной код П01001, П01002, П01003 и т.п. Можно ли при вводе тмц формировать следующим образом - руками вводятся первые три символа П01 - остальные три формируются автоматически? Порядковая нумерация. Или необходимо программировать? (Чует моё сердце, что необходимо) Спасибо. |
|
21.05.2009, 13:24 | #2 |
Участник
|
Необходимо, поскольку ваша хотелка нарушает несколько основополагающих принципов.
Можно, но не нужно. См. как сделана нумерация русских ОС в зависимости от группы. Цитата:
Дальнейшие сложности связаны с тем, что вы делаете свою базу ненормализованной. Цитата:
Насколько я понимаю, первые три символа - это некая группа. Дык, вот. Не парьтесь. Просто добавьте еще одно поле (группа/подгруппа) или два поля (группа/подгруппа). Пусть пользователи вводят этот признак в отдельные поля. У вас сразу появится возможность сортировки, отбора, переименования групп/подгрупп. Вы сможете управлять индексами по этим полям, Вы сможете... Вы сможете.... Вы сможете использовать все богатство возможностей реляционных баз данных. (Ищите на форуме темы про составные ключи и нормализацию) Если вам нужно выводить на печать, то сделайте метод, который будет выводить не одно поле Код, а строку из двух-трех полей (Группа-Подгруппа-Код). Ни в коем случае не делайте display-метод для вставки в формы. Потеряете возможность отбора, сортировки. ========== Если вам так хочется подчиненную нумерацию внутри групп, то рисуйте форму создания (типа создания заказа) в которой запрашивайте сначала группы/подгруппы, а потом создавайте номер (см. нумерацию в русских ОС). НО!!!! подчиненная нумерация - коварная штука. Что вы будете делать, если номенклатуру надо будет перенести в другую группу/подгруппу? ================== рекомендация: 1. не мучайтесь с составным кодом, а добавьте несколько полей для группировок 2. не мучайтесь с подчиненной нумерацией, оставьте уникальность в пределах всего справочника 3. добавьте метод, который печатает составной код в отчетах 4. добавьте relationы и поля групп в формы, где пользователи видят список номенклатуры и хотят отбирать группы. Читайте http://axapta.mazzy.ru/lib/tree/ http://axapta.mazzy.ru/lib/tree2/ http://axapta.mazzy.ru/lib/tree3/ |
|
21.05.2009, 14:14 | #3 |
Участник
|
Сергей, большое спасибо. Очень сильно Вы меня испугали нарушениями принципов... Когда смотрели майкрасофтовскую демо базу по логистике, там коды ТМЦ были следующие "лампочки 100 вт", "лампы с абаж" и т.п. Вот таки коды меня испугали... Уникальность у нас соблюдается, это однозначно. Вопрос о переносе из группы в группу не возникал (как и много других вопросов, пока не копнешь глубже). Дополнительные поля на ТМЦ для групп, подгрупп и т.п. добавлены. Сергей, спасибо.
П.С. Нумерацию русских ОС глянем. |
|
21.05.2009, 14:26 | #4 |
Участник
|
Цитата:
в dax3.0 над справоничками работали не только переводчики поэтому там коды более похожи на коды. См. http://axapta.mazzy.ru/lib/autonumber/ Тут что можно посоветовать. Во-первых, в Аксапте есть специальное поле SearchName (Поисковое наименование, Краткое наименование). Предполагается, что компьютер создает некий автоматический код, а человек в поисковое наименование ставит то, что ему нравится. Поисковое наименование можно использовать вместо кода. Попробуйте сделать так, как на рисунке и переместите фокус из поля с кодом. Второй вариант кодировки заключается в следующем. Коды, сформированные автоматически можно переименовать при помощи RenamePrimaryKey. Т.е. поставить осмысленный код можно и позже. Но тут надо помнить, что RenamePrimaryKey достаточно тяжелая операция, которая потенциально может сильно нагрузить базу. |
|
21.05.2009, 15:24 | #5 |
Участник
|
не согласен с вами
Ахапта консультаны предлагают решения которые часто совместимы с реальной деиствительностью. Предприятие строит свою структуру номенклатуры . простым рабочим которые работают с данной номенклатурой лудше исползовать G001T0001 kod чем вами предложеный вариант. Изменений меньше ( не надо все отчеты изменять) SQL все равно какие значения в ITEMID ( varchar ) . Никаких оснавных правил не нарушено . При переносе в другую группу должен меньятса код ТОВАРА . Если просто изменить группу то прошедшии отчеты будут неправильны . Правильны будут только в том случае если везде во всех проводках будет указана группа и подгруппа во всех таблитсах |
|
|
За это сообщение автора поблагодарили: RumataEstor (-1). |
21.05.2009, 19:01 | #6 |
Участник
|
Цитата:
кроме того, опыт подсказывает, что простым рабочим чертовски неудобно работать с нулями, считать их Я бы еще понял GT21, но G001T0001 - Это точно издевательство. Это я вам говорю, как человек, который с 20 значными расчетными счетами работает. Это я вам говорю, как человек, который видел и общался с пользователями на нескольких десятках предприятиях |
|
22.05.2009, 09:18 | #7 |
Участник
|
mazzy
тут дело не в удобстве . 1) Если предприятие имеет свою логику номенклатуры ее в 90% случаев менять не желательно и вредно 2) Да, пользователь и простые рабочие ето разные веши Простые рабочие если привыкли к конкретним правилам их переход на новую систему даже простых кодов очень не прост ( ето не квалифитсырованые которые ежедневно работают с этими вне системы ) 3) если номенклатура привязана к price list , то ето дополнительный гимор . так как со всеми поставщеками закупщиками надо согласовати новые коды или опять же много менять или настраивать ахапту |
|