Skip to content

Latest commit

 

History

History
104 lines (99 loc) · 15.7 KB

Summary.md

File metadata and controls

104 lines (99 loc) · 15.7 KB

Diagnostics and Code Refactoring

In this document, you can find the list of diagnostics and code refactorings supported by Acuminator.

Diagnostics

Acuminator diagnostics are displayed if the value of Tools > Options > Acuminator > Code Analysis > Enable code analysis is True (which is the default setting).

Acuminator does not perform static analysis of projects whose names contain Test or Benchmark. Generally, these projects contain tests of an application and do not include any application logic; therefore there is no need to analyze them with Acuminator.

Note: In the following table, the types of the diagnostics are specified for the ISV solution certification—that is, if the Enable additional diagnostics for ISV Solution Certification option (in Tools > Options > Acuminator > Code Analysis) is set to True. The type of the diagnostic can be different if this option is set to False. For details about the type of the diagnostic, see the description of the diagnostic.

Code Short Description Type Code Fix
PX1000 An invalid signature of the PXAction handler is used. Error Available
PX1001 A PXGraph instance must be created with the PXGraph.CreateInstance() factory method. Error Available
PX1002 The field must have a type attribute that corresponds to the list attribute. Error Available
PX1003 Consider using a specific implementation of PXGraph. Warning (ISV Level 2: Production Quality) Unavailable
PX1004 The order of view declarations will cause the creation of two cache instances. Message Unavailable
PX1005 There is probably a typo in the name of the view delegate or the action delegate. Warning (ISV Level 3: Informational) Available
PX1006 The order of view declarations will cause the creation of one cache instance for multiple DACs Message Unavailable
PX1007 The DAC, DAC extension, or DAC property should have a description in the "summary" XML tag or "inheritdoc" XML tag Error Available
PX1008 The reference to the screen graph or an action adapter in the long operation and processing delegates cause synchronous execution of the delegate. Error Unavailable
PX1009 Multiple levels of inheritance are not supported for PXCacheExtension. Error Available
PX1010 If a delegate applies paging in an inner select, StartRow must be reset. (If StartRow is not reset, paging will be applied twice.) Warning (ISV Level 1: Significant) Available
PX1011 Because multiple levels of inheritance are not supported for PXCacheExtension, the derived type can be marked as sealed. Warning (ISV Level 3: Informational) Available
PX1012 PXAction is declared on a non-primary view. Warning (ISV Level 2: Production Quality) Available
PX1013 The action handler that initiates a background operation or is executed by a background operation must return IEnumerable. Error Available
PX1014 A DAC field must have a nullable type. Error Available
PX1015 For a BQL statement that contains parameters, the number of arguments of a Select method is different from the number of parameters. Warning (ISV Level 1: Significant) Unavailable
PX1016 A DAC or graph extension must include the public static IsActive method with no parameters and the bool return type. Extensions that are constantly active reduce performance. Suppress the error if you need the DAC extension to be constantly active. Error Unavailable
PX1018 The graph with the specified primary view type parameter doesn't contain the primary view of the specified type. Error Unavailable
PX1019 A DAC property field with the AutoNumber attribute must have the string type. Error Available
PX1020 For the DAC property with the AutoNumber attribute, the string length must be greater than or equal to PX.Objects.CS.NumberingSequence.StartNbr value. Error Available
PX1021 The type of the DAC field attribute does not correspond to the property type. Error Available
PX1022 The non-public graphs, DACs, graph and DAC extensions are not supported. Error Available
PX1023 The DAC property is marked with multiple field type attributes. Error Available
PX1024 The DAC class field must be abstract. Error Available
PX1026 Underscores cannot be used in the names of DACs and DAC fields. Error Available
PX1027 The CompanyMask, CompanyID, Notes, Files, DatabaseRecordStatus, and DeletedDatabaseRecord fields cannot be declared in DACs. The name of a DAC field also cannot begin with the Company prefix. Error Available
PX1028 Constructors in DACs are prohibited. Error Available
PX1029 PXGraph instances cannot be used inside DAC properties. Error Unavailable
PX1030 The PXDefault attribute of the field is used incorrectly. Warning (ISV Level 1: Significant) or Error Available
PX1031 DACs and DAC extensions cannot contain instance methods. Error Unavailable
PX1032 DAC properties cannot contain method invocations. Error Unavailable
PX1033 The DAC does not have an explicit primary key declaration Warning (ISV Level 3: Informational) Available
PX1034 The DAC does not have an explicit foreign key declaration Warning (ISV Level 3: Informational) Available
PX1035 The DAC has multiple key declarations that use the same set of fields Warning (ISV Level 3: Informational) Available
PX1036 The DAC must have one primary key which should be named PK. The class containing DAC foreign keys should be named FK. The single unique key in the DAC should be named UK. All unique keys in the DAC should be declared in a public static class named UK. Warning (ISV Level 3: Informational) Available
PX1037 An unbound DAC field cannot be used in a key declaration. Error (ISV Level 3: Informational) Unavailable
PX1040 Instance constructors in BLC extensions are strictly prohibited. You should use the Initialize() method instead. Error Available
PX1041 Classic graph event handlers which rely on naming conventions can be converted to generic graph event handlers which have a strongly typed generic signature. Information Available
PX1042 In a RowSelecting handler, BQL statements and other database queries must be executed only inside a separate connection scope. In Acumatica ERP 2023 R1 and later versions, this diagnostic is disabled. Error Available
PX1043 Changes cannot be saved to the database from event handlers. Error Unavailable
PX1044 Changes to PXCache cannot be performed in event handlers. Error Unavailable
PX1045 PXGraph instances cannot be created in event handlers. Error Unavailable
PX1046 Long-running operations cannot be started within event handlers. Error Unavailable
PX1047 In the FieldDefaulting, FieldVerifying, and RowSelected event handlers, DAC instances passed to these event handlers cannot be modified. Error Unavailable
PX1048 For the RowInserting and RowSelecting events, only the DAC instance that is passed in the event arguments can be modified in the event handler. Error Unavailable
PX1049 In RowSelected event handlers, BQL statements and other database queries should be avoided. Warning (ISV Level 1: Significant) Unavailable
PX1050 Hardcoded strings cannot be used as parameters for localization methods, PXException and PXExceptionInfo constructors. Error Unavailable
PX1051 The strings defined in a class without the PXLocalizable attribute cannot be used as parameters for localization methods, PXException and PXExceptionInfo constructors. Error Unavailable
PX1052 Plain text strings cannot be used in the methods of the LocalizeFormat family. Error Unavailable
PX1053 Concatenated strings cannot be used as parameters for localization methods, PXException and PXExceptionInfo constructors. Error Unavailable
PX1054 A PXGraph instance cannot start a long-running operation during the PXGraph initialization. Error Unavailable
PX1055 An invalid primary key of the DAC is used. Error Available
PX1056 A PXGraph instance cannot be initialized inside the IsActive or IsActiveForGraph<TGraph> method. Error Unavailable
PX1057 A PXGraph instance cannot be initialized while another PXGraph instance is being initialized. Error Unavailable
PX1058 A PXGraph instance cannot save changes to the database during the PXGraph initialization. Error Unavailable
PX1059 Changes to PXCache cannot be performed during the PXGraph initialization. Error Unavailable
PX1060 DAC fields should be strongly typed to be used in fluent BQL queries. Message Available
PX1061 Constants should be strongly typed to be used in fluent BQL queries. Message Available
PX1062 You cannot declare static views, actions, mutable fields, and mutable properties in graphs or graph extensions Error Available
PX1063 The declaration of the exception class does not contain a serialization constructor. This will cause an incorrect deserialization of the exception data and will lead to runtime errors in Acumatica ERP. Error Available
PX1064 The declaration of the exception class introduces new serializable fields but does not declare an override for the GetObjectData method. This will cause an incorrect serialization of the exception data and will lead to runtime errors in Acumatica ERP. Error Available
PX1065 The DAC field property does not have a corresponding BQL field. Error Available
PX1066 The name of the BQL field may contain a mistake. Warning (ISV Level 3: Informational) Available
PX1067 The DAC does not contain a redeclaration of a BQL field declared in the base DAC. Warning (ISV Level 3: Informational) Available
PX1068 The type of the DAC field property does not correspond to the type of the BQL field. Error Available
PX1070 The state of fields and actions can be configured only in RowSelected event handlers. Error Unavailable
PX1071 Actions cannot be executed within event handlers. Error Unavailable
PX1072 BQL queries must be executed within the context of an existing PXGraph instance. Warning (ISV Level 1: Significant) Available
PX1073 Exceptions cannot be thrown in the RowPersisted event handlers. Error Unavailable
PX1074 PXSetupNotEnteredException cannot be thrown in any event handlers except for the RowSelected event handlers. Warning (ISV Level 1: Significant) Unavailable
PX1075 PXCache.RaiseExceptionHandling cannot be invoked from the FieldDefaulting, FieldSelecting, RowSelecting, and RowPersisted event handlers. Error Unavailable
PX1076 This code calls Acumatica internal API marked with PXInternalUseOnlyAttribute which is not intended for public use Warning Unavailable
PX1077 Event handlers in graphs and graph extensions should have the protected and virtual modifiers Error Available
PX1078 The DAC field and the referenced DAC field have different types or sizes. Error Unavailable
PX1080 Data view delegates should not start long-running operations. Error Unavailable
PX1081 Actions cannot be executed during the PXGraph initialization. Error Unavailable
PX1082 Actions cannot be executed within data view delegates. Error Unavailable
PX1083 Changes cannot be saved to the database from data view delegates. Error Unavailable
PX1084 PXGraph instances cannot be initialized within data view delegates. Error Unavailable
PX1085 BQL statements and other database queries should not be executed during the PXGraph initialization. Warning (ISV Level 1: Significant) Unavailable
PX1086 PXSetupNotEnteredException cannot be thrown in long-running operations. Warning (ISV Level 1: Significant) Unavailable
PX1087 This invocation of the base data view delegate can cause a StackOverflowException. Warning (ISV Level 1: Significant) Unavailable
PX1089 The state of fields and actions cannot be configured in the action delegates. Error Unavailable
PX1090 PXSetupNotEnteredException cannot be thrown in action handlers. Warning (ISV Level 1: Significant) Unavailable
PX1091 This invocation of the base action handler can cause a StackOverflowException. Warning (ISV Level 1: Significant) Unavailable
PX1092 Action handlers must be decorated with the PXUIField attribute and with the PXButton attribute or its successors. Error Available
PX1093 In a graph declaration, the first type parameter of PXGraph must be the graph type. Error Available
PX1094 Every DAC should be decorated with the PXHidden or PXCacheName attribute. Warning (ISV Level 3: Informational) Available
PX1095 A field with the PXDBCalced or PXDBScalar attribute must have an unbound type attribute, such as PXDate or PXDecimal. Error Unavailable
PX1096 The signature of a method with the PXOverride attribute must match the overridden method. Error Unavailable
PX1099 The API reported by the diagnostic should not be used with the Acumatica Framework. Warning Unavailable