|  25.10.2012, 18:14 | #1 | 
| Участник | Знатоки 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)))); } | 
|  | 
|  25.10.2012, 18:36 | #2 | 
| NavAx | 
			
			Дык, правильно. Чтобы обновить документ - надо его сначала запросить, соотв, получить DocumentHash вместе с ним. Ну, а потом, зная уже DocumentHash, указать его в документе с измененными полями. Это позволит убедиться системе, что с момента прошлого запроса исходный документ в системе не менялся и вы меняете именно ту версию документа, что и запрашивали. Т.е. нельзя изменить какой-то документ от балды. Сначала нужно его прочитать.   
				__________________ Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...   | 
|  | |
| За это сообщение автора поблагодарили: arty (1). | |
| Теги | 
| aif | 
|  | 
| 
 |