Navision Axapta 3, ABC, возврат некорректных данных
Всем привет. Я с NA 3 начал работать недавно, моя основная специализация MS CRM.
Но сейчас занимаюсь интеграцией с ней через Axapta Business Connector, у меня появилась проблема.
Я используя код из SDK
Dim AxaptaQuery As AxaptaCOMConnector.IAxaptaObject
Dim AxaptaDataSource As AxaptaCOMConnector.IAxaptaObject
Dim AxaptaRange As AxaptaCOMConnector.IAxaptaObject
Dim CustTableBuffer As AxaptaCOMConnector.IAxaptaRecord
Dim CustTable, CustTable_Name As Integer <-- I added to line
'Find these with dict classes
CustTable = 77
CustTable_Name = 2
AxaptaQuery = Axapta.CreateObject("Query")
AxaptaDataSource = AxaptaQuery.Call("AddDataSource", CustTable)
AxaptaRange = AxaptaDataSource.Call("AddRange", CustTable_Name)
...
и т.д.
Наблюдается интересное поведение. Если в аксапте в строке к-л объекта добавить к значению поля символ, сохранить, запросить значение этого поля через ABC, то всё нормально возвращается. Потом убираем в аксапте добавленный символ, сохраняем, запрашиваем через ABC - нам возвращается предыдущее значение (с добавленным символом). Т.е. в аксапте и в БД значение одно, ABC возвращает другое.
Как это разрулить?
И ещё вопрос: необходимо ли использовать ABC для запроса данных, может просто из SQL их дёрнуть? Какие могут быть подводные камни? Может надо использовать вьюхи а не таблицы?
Заранее спасибо за ответы на мои критичные вопросы.
|