Messages for Validation Errors

This topic, which is intended to be used by developers, describes the messages that may occur during the validation of the customization code compatibility with the code of MYOB Advanced.

Failed to resolve method reference

This error occurs if the validation process finds in a custom DLL a reference to a method that is absent with the same signature in the code of MYOB Advanced.

The following example of the error message informs you that the AM.Objects.dll file contains a reference to the System.Void PX.Data.PXLineNbrAttribute::.ctor(System.Type) method, which has not been declared or has another signature in the PX.Data assembly.

AM.Objects.dll
Failed to resolve method reference:
System.Void PX.Data.PXLineNbrAttribute::.ctor(System.Type)
declared in
PX.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3b136cac2f602b8e
Because the customization code is consistent with the previous version of MYOB Advanced, this error occurs because the method overridden in the customization code has been removed or its signature has been changed in the update. To ensure that this change is implemented in the code of the new version of MYOB Advanced, see the technical release notes for this version, as described in To Use the Technical Release Notes to Find the Breaking Changes.

To fix the error, in the code of the specified extension library, you should refer to an appropriate method declared in the assembly.

Failed to resolve type reference

This error occurs if the validation process finds in a custom DLL a reference to a type whose declaration is absent in the code of MYOB Advanced.

The following example of the error message informs you that the FETempFix.dll file contains the reference to the PX.Data.PXGraphWithActionsBase`2 type that is not declared in the PX.Data assembly.

FETempFix.dll
Failed to resolve type reference:
PX.Data.PXGraphWithActionsBase`2
declared in
PX.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3b136cac2f602b8e
To fix the error, in the code of the specified extension library, you have to refer to an appropriate type declared in the assembly.

Could not resolve

This error occurs if the validation process finds a reference to a custom DLL that cannot be found.

The following example of the error message informs you that the FullRegen.dll file contains the ADODB reference, which cannot be resolved.

FullRegen.dll
Could not resolve:
ADODB, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
To fix the error, in the code of the specified extension library, you have to refer to a DLL file located in the Bin folder of the website.

Declaring Type missing

This error occurs if the validation process finds, in the customization code located in the App_RuntimeCode folder of the website, a reference to a type whose declaration is absent in the code of MYOB Advanced.

The following example of the error message informs you that the PX.Objects.EP.CRBaseActivityMaint`1<PX.Objects.CR.CRTaskMaint> class contains a reference to the BaseBAccount type, which is undeclared.

Declaring Type missing:
BaseBAccount
from
PX.Objects.EP.CRBaseActivityMaint`1<PX.Objects.CR.CRTaskMaint>
To fix the error, in the corresponding Code or DAC item of the customization project, you have to refer to the appropriate type.

Referenced Field missing

This error occurs if the validation process finds, in the customization code located in the App_RuntimeCode folder of the website, a reference to a field that is undeclared in the data access class (DAC).

The following example of the error message informs you that the PX.Objects.CS.CSAnswers data access class does not contain the _EntityID field.

Referenced Field missing:
_EntityID
from
PX.Objects.CS.CSAnswers
To fix the error, in the corresponding Code or DAC item of the customization project, you have to refer to the appropriate field.

Base property is missing or IBqlField is not defined

This error can occur if the validation process finds a data access class extension that contains a reference of a field with both of the following implementation features:
  • The field name does not contain the Usr prefix.
  • The DAC extension does not contain the IBqlField declaration.
For such cases, the validation determines that the DAC extension overrides a field existing in the code of MYOB Advanced. If this field cannot be found in the code of MYOB Advanced, the validation reports about the error.
The following example of the error message informs you that the Age field is referenced in the CQHRIS.ContactExtension extension of the CQHRIS.Contact data access class; however the code of MYOB Advanced does not contain the field declaration.

Base property is missing or IBqlField is not defined:
Age
in extension
CQHRIS.ContactExtension
If the field is custom, to fix the error, you have to add the IBqlField declaration in the DAC extension. If the code refers to a field that was removed from the code of MYOB Advanced, you should alter the DAC extension to make it consistent with the base class.