24.08.2007, 13:32 | #1 |
Участник
|
компания переходить на новый стандарт нумерации продуктов. как оптимально сделать это? т.е.
когда изменяеш код на карте продукта, во всех таблицах в базе изменяется этот код. Возможно ли как-то автоматизировать такой, но Multiple переименовку? |
|
24.08.2007, 13:38 | #2 |
Участник
|
Самый безхитростный метод:
1. Завести новые карточки для всех товаров 2. Списать товары со старых карточек и оприходовать на новые + изменить все нужные таблицы (цена, например) |
|
24.08.2007, 14:33 | #3 |
Участник
|
Спасибо Fordewind,
этот вариант я знаю но создавая новые карточки теряется вся история о товарах (покупки, продажи..). |
|
24.08.2007, 15:30 | #4 |
Участник
|
А почему бы не запустить цикл RENAME по всем товарам?
Т.е составить. например, в EXCEL табличку из 2 полей: старый код и новый код. А потом загрузить ее в NAVISION и при обработке загрузки использовать RENAME. |
|
24.08.2007, 16:48 | #5 |
Участник
|
Eugeny_F
можете по подробнее объяснить, pls?. |
|
26.08.2007, 23:26 | #6 |
Участник
|
Например, так:
1. Создаем книгу Excel из 2 колонок (старый код и новый код). 2. Сохраняем ее как файл CSV (MS-DOS), не забыв грохнуть заголовок в первой строке, если он был. 3. Создаем новый датапорт на таблицу Item. В свойствах Dataitem указываем No для свойств AutoSave, AutoUpdate и AutoReplace. 4. Создаем переменную Item2 типа Record и переменные OldCode и NewCode типа Code. 5. Прописываем переменные OldCode и NewCode как поля датапорта. 6. В триггере OnAfterImportRecord пишем такой код IF Item2.GET(OldCode) THEN Item2.RENAME(NewCode). Если товарных операций в БД уже достаточно много, такая процедура будет работать довольно долго. Недавно на форуме вроде рассматривался вопрос, как можно убыстрить RENAME. Посмотрите еще там, если потребуется. |
|
27.08.2007, 13:58 | #7 |
Участник
|
Eugeny_F
thanks a lot! |
|