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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.10.2012, 18:14   #1  
arty is offline
arty
Участник
 
3 / 10 (1) +
Регистрация: 21.04.2006
Знатоки AIF, помогите!
При попытке обновить документ в DAX 2009 с помощью механизма AIF, обнаружил, что во время разбора входящего XML вызывается такой код (метод DeserializeTopEntity класса AxdBaseUpdate):
X++:
// Verify that the document hash is present in the XML and matches the current version in the Db
        docVersionXml = _axInternalBase.parm_DocumentHash();
        if (docVersionXml)
        {
            docVersionDb = document.getRecordHash();
            if (docVersionDb != docVersionXml)
            {
                throw error("@SYS106156");
            }
        }
        else
        {
            throw error(strfmt("@SYS26332", AxInternalBase::stripParm(methodstr(AxInternalBase, parm_DocumentHash))));
        }
Т. е. сравнивается хэш документа, указанный во входящем XML и хэш текущего документа. Вычисляется он на основе RecId+RecVersion таблиц, составляющих документ. Получается, я этот хэш (причем текущий!) должен заранее знать и включить в документ, который отправляю в аксапту из стороннего приложения... По-моему бред. Или я что-то не так делаю?
Старый 25.10.2012, 18:36   #2  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Дык, правильно.
Чтобы обновить документ - надо его сначала запросить, соотв, получить DocumentHash вместе с ним. Ну, а потом, зная уже DocumentHash, указать его в документе с измененными полями. Это позволит убедиться системе, что с момента прошлого запроса исходный документ в системе не менялся и вы меняете именно ту версию документа, что и запрашивали.
Т.е. нельзя изменить какой-то документ от балды. Сначала нужно его прочитать.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
За это сообщение автора поблагодарили: arty (1).
Теги
aif

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AIF: How to serialize int/real properties with 0/0.00 values via AIF outbound integration Blog bot DAX Blogs 0 08.05.2012 04:13
axinthefield: The AIF processing services used by each of the AIF adapters in AX 2009 Blog bot DAX Blogs 0 27.05.2011 05:12
Aku: Assistent für AIF-Dokumentendienste und Tabellen mit InventDimId Blog bot DAX Blogs 0 22.04.2011 17:11
daxdilip: How to: Configure Dynamics AX AIF Services to listen for SSL Requests (https) Blog bot DAX Blogs 0 23.01.2011 10:12
Dianne Siebold: AIF Top Ten Blog bot DAX Blogs 1 22.04.2008 11:19
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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