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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.11.2007, 16:25   #1  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Можно ли тихо подменить ГТД?
Есть задача.
Если ГТД не известен при создании строки журнала (тип проводка) вводить в него ЛОТ место ГТД.
А потом когда она известна становиться надо заменить на известный.
Можно ли просто проапдэйтить inventDim.
InventDimId останется прежним. А гтд поменяется.
Есть ли какие нибудь грабли при этом?
Старый 19.11.2007, 16:33   #2  
online
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,740 / 404 (17) +++++++
Регистрация: 23.03.2006
inventdim нестоит менять. одним из вариантов решения может быть журнал переноса
Старый 19.11.2007, 16:36   #3  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от ice Посмотреть сообщение
inventdim нестоит менять. одним из вариантов решения может быть журнал переноса
Почему?
Я понимаю если кто-то куда-то выкинул ГТД, не через InventDim, а на прямую через расширенный тип.
А если таких мест нет.
Старый 19.11.2007, 16:39   #4  
eugene egorov is offline
eugene egorov
Участник
Аватар для eugene egorov
 
273 / 97 (4) ++++
Регистрация: 05.06.2002
Адрес: Москва
Еще одно место есть точно - \Data Dictionary\Tables\FactureTrans_RU\Fields\InventGTDId
__________________
любитель портвейна и снов с прокисшей капустой в усах
За это сообщение автора поблагодарили: miklenew (1).
Старый 19.11.2007, 22:54   #5  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от eugene egorov Посмотреть сообщение
Еще одно место есть точно - \Data Dictionary\Tables\FactureTrans_RU\Fields\InventGTDId
Спасибо.
Да, надо было проверить.
Нашёл класс InventDimRenameDimValue.
Но там ГТД нет. Можно дописать. Но считается уверен долго.

Цитата:
Сообщение от ppson
Если необходимо поменять ГТД только в складских проводках, то можно использовать стандартную функциию системы
"Номенклатурные единицы/ Функции/ Редактирование кодов аналитик"
А как тогда поменять здесь \Data Dictionary\Tables\FactureTrans_RU\Fields\InventGTDId?
-------------------------
Похоже лучше всего написать класс.
1) Замена гтд в InventDim
2) найти все поля во всех таблицах образованные от EDT InventGTDId_RU и его наследников. И замена там. Наврятли их много.
Старый 19.11.2007, 23:12   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от miklenew Посмотреть сообщение
Похоже лучше всего написать класс.
1) Замена гтд в InventDim
2) найти все поля во всех таблицах образованные от EDT InventGTDId_RU и его наследников. И замена там. Наврятли их много.
Можно попробовать вот этот класс:
Переименование поля
За это сообщение автора поблагодарили: miklenew (1).
Старый 20.11.2007, 11:59   #7  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Можно попробовать вот этот класс:
Переименование поля
Решил всё таки по другому сделать.
Я помотрел все расширенные типы включающие буквы GTD образуют всего 5-6 полей в таблицах. Лучше чисто в них проверить и заменить если нужно, чем по всем таблицам и всем полям бежать.
Но щас аналитик упёрся. В GTD хочет видеть journalId_Voucher_inventTransId.
И доводы что по InventTransId я это всё найду если надо. Но в чём я не уверен, что такая необходимость будет. На него не действуют.
Всё равно спасибо за участие.
Старый 19.11.2007, 16:39   #8  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от miklenew Посмотреть сообщение
Есть задача.
Если ГТД не известен при создании строки журнала (тип проводка) вводить в него ЛОТ место ГТД.
А потом когда она известна становиться надо заменить на известный.
Можно ли просто проапдэйтить inventDim.
InventDimId останется прежним. А гтд поменяется.
Есть ли какие нибудь грабли при этом?
Ну, если вы хорошо контролируете процесс создания этой строки в InventDim, и уверены, что код номера лота никогда не совпадает с номером ГТД в другой строке, и что номер ГТД, на который вы захотите подменить еще не существует, то да, думаю проблем не должно быть.
Старый 19.11.2007, 16:44   #9  
ppson is offline
ppson
Участник
Аватар для ppson
Ex AND Project
1C
 
2,102 / 114 (8) +++++
Регистрация: 25.06.2002
Адрес: SPb, Msk
Если необходимо поменять ГТД только в складских проводках, то можно использовать стандартную функциию системы
"Номенклатурные единицы/ Функции/ Редактирование кодов аналитик"
__________________
Старый 19.11.2007, 16:43   #10  
online
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,740 / 404 (17) +++++++
Регистрация: 23.03.2006
вы уверены, что при вставке строки в журнал, происходит создание новой строки в inventdim?
упс.. опередили
Старый 19.11.2007, 16:45   #11  
aidsua is offline
aidsua
AX*****
Аватар для aidsua
 
106 / 40 (2) +++
Регистрация: 28.09.2005
Адрес: 2:463/Kyiv
Цитата:
Сообщение от miklenew Посмотреть сообщение
Есть задача.
Если ГТД не известен при создании строки журнала (тип проводка) вводить в него ЛОТ место ГТД.
А потом когда она известна становиться надо заменить на известный.
Можно ли просто проапдэйтить inventDim.
InventDimId останется прежним. А гтд поменяется.
Есть ли какие нибудь грабли при этом?
что подразумевается под ГТД -- последние 6 цифр номера гтд-шки или полный номер ГТД. В первом варианте можно попасть на ситуацию, когда при изменении inventDim не отработает метод update() ввиду наличия аналогичного номера в таблице.. хотя он обходится методом FindOrCreate(), но в этом случае у нас может быть новый InventDimId.
__________________
О, как беден, как груб наш русский язык! [c] А.С.Пушкин
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ActiveX, где можно набивать текст? yooshi DAX: Программирование 1 16.12.2005 17:47
Книга Покупок можно ли не закрывать? asabin DAX: Функционал 1 18.11.2005 17:50
Можно ли в инамическом запросе использовать "group by"? yooshi DAX: Программирование 26 23.09.2005 16:35
Можно ли исп. switch задать диапазон для case ??? djoker DAX: База знаний и проекты 23 27.12.2004 15:28
Можно ли поменять налоговый код по проведенной закупке или накладной поставщика Голова 2уха DAX: Функционал 1 25.10.2004 11:51

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

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

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