Показать сообщение отдельно
Старый 18.08.2015, 12:46   #7  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Зачем вот чего-то править в AgreementClassificationKey?.. Ошибка возникает, скорее всего, на разборе ключа замены: AIF видит в соотв. индексе два поля, а в XML значение только для одного из них. Какие при этом значения по умолчанию будут у параметрических методов AgreementClassificationKey, никак не влияет на то, что в XML-документе отсутствует ожидаемое значение. Поле AgreementClassification.AgreementRelationType помечено как невидимое, поэтому тот же обозреватель таблиц его не показывает, но в базе оно есть и входит в ключ замены для таблицы, поэтому AIF ожидает его значение на ряду с Name, иначе он не сможет однозначно идентифицировать запись в AgreementClassification. Попробуйте передавать привязку к классификации договоров так:
PHP код:
<SalesAgreementHeaderT class="entity"
<
AgreementClassification
<
Name xmlns="http://schemas.microsoft.com/dynamics/2008/01/sharedtypes">B2B</Name>  
<
AgreementRelationType xmlns="http://schemas.microsoft.com/dynamics/2008/01/sharedtypes">4903</AgreementRelationType>  
</
AgreementClassification