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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.08.2007, 13:32   #1  
vaxo_j is offline
vaxo_j
Участник
 
35 / 10 (1) +
Регистрация: 16.02.2007
компания переходить на новый стандарт нумерации продуктов. как оптимально сделать это? т.е.
когда изменяеш код на карте продукта, во всех таблицах в базе изменяется этот код. Возможно ли как-то автоматизировать такой, но Multiple переименовку?
Старый 24.08.2007, 13:38   #2  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Самый безхитростный метод:
1. Завести новые карточки для всех товаров
2. Списать товары со старых карточек и оприходовать на новые

+ изменить все нужные таблицы (цена, например)
Старый 24.08.2007, 14:33   #3  
vaxo_j is offline
vaxo_j
Участник
 
35 / 10 (1) +
Регистрация: 16.02.2007
Спасибо Fordewind,
этот вариант я знаю но создавая новые карточки теряется вся история о товарах (покупки, продажи..).
Старый 24.08.2007, 15:30   #4  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
А почему бы не запустить цикл RENAME по всем товарам?
Т.е составить. например, в EXCEL табличку из 2 полей: старый код и новый код. А потом загрузить ее в NAVISION и при обработке загрузки использовать RENAME.
Старый 24.08.2007, 16:48   #5  
vaxo_j is offline
vaxo_j
Участник
 
35 / 10 (1) +
Регистрация: 16.02.2007
Eugeny_F
можете по подробнее объяснить, pls?.
Старый 26.08.2007, 23:26   #6  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
Например, так:

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  
vaxo_j is offline
vaxo_j
Участник
 
35 / 10 (1) +
Регистрация: 16.02.2007
Eugeny_F
thanks a lot!
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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