In Utilities 3E, the following error may be seen in the Update 3E - Update process (part of Upgrades) when running the Apply and Repairs action:
"Some record(s) already exist in the table NxMsg for <GUID>"
To fix the problem, let the process finish then change the Source Directory by clicking Browse. Navigate to <ProjectFolder>\Logs\<ApplyFolder>\ErrorReRun e.g. \IM_CR2043_DL_CostCardTrans\Logs\2011.03.26.10.04.35Apply\ErrorReRun then re-run the Apply and Repair action.
Saturday, 26 March 2011
Tuesday, 22 March 2011
Update 3E - "Could not find AppObject" Extract Error
In Utilities 3E, the following error may be seen in the Update 3E - Extract process (part of Upgrades):
"Could not find AppObject. If the AppObject does exist, verify the ID matches in the MetaXML and table. There is a Stock version, but this is a Custom extract."
"Could not find AppObject. If the AppObject does exist, verify the ID matches in the MetaXML and table. There is a Stock version, but this is a Custom extract."
This error is usually due to a stock object that is added to the Project that has no custom version, i.e. no changes have been made to it. Identify the object from the error message grid and remove it from the Project in the IDE. After saving the Project, the error should no longer appear when extracting.
Friday, 18 March 2011
Annoyance: Huge Default Report Parts
After creating a new report and giving the Root Object ID property a value, the Header, DetailsHeaderStandard, DetailStandard and Footer have their heights set to massive values. The height value of each has to be manually reduced to make it easier to work with.
Tuesday, 15 March 2011
Add Custom Methods to Processes
To use a method inside a process do the following:
1. In the Collection Code section of the Object declare an enum type to be returned by the method.
Public Enum StepResult
Success
Fail
End Enum
2. Still in the Collection Code of the Object, add the method as a Function with a return type of that created in step 1. Give the Function an attribute of NxProcessMethod.
<NxProcessMethodAttribute()> _
Public Function DoWork() As StepResult
// Do some cool stuff...
Return StepResult.Done
End Function
3. After saving the object, the method should be available to add as a step in any Process based on the object.
1. In the Collection Code section of the Object declare an enum type to be returned by the method.
Public Enum StepResult
Success
Fail
End Enum
2. Still in the Collection Code of the Object, add the method as a Function with a return type of that created in step 1. Give the Function an attribute of NxProcessMethod.
<NxProcessMethodAttribute()> _
Public Function DoWork() As StepResult
// Do some cool stuff...
Return StepResult.Done
End Function
3. After saving the object, the method should be available to add as a step in any Process based on the object.
Validation Error: Error on Node: VM - The required attribute 'FID' is missing.
When saving a Page, following error "Validation Error: Error on Node: VM - The required attribute 'FID' is missing." indicates that at least one of the VIEWMAP nodes (PAGE->BASEOBJECTS->BASEOBJECT->VIEWS->VIEW->VIEWMAP) has no Form ID property set.
Friday, 11 March 2011
Transaction Service
One way to retrieve data from 3e is to use the GetData method of the Transaction Service.
http://shf01-3ede01/TE_3E_development/WebUI/transactionservice.asmx?op=GetData.
1. In the IDE, create a ReportObject containing the data that is needed.
2. In the IDE, create a Report based on the ReportObject. Add the columns of data that need to be exposed.
3. In the front end, load the Report and save a ReportLayout. Be sure to add any criteria and sorting needed to the associated ReportQuery.
4. To test, open the ReportQuery in the Utilities3E AppObject XML Editor. Use the XML of the ReportQuery as the parameter value of the Transaction Services GetData method.
Note that the Report and ReportQuery are just steps in the creation of the test XML. They can be deleted if they are not needed in the front end.
http://shf01-3ede01/TE_3E_development/WebUI/transactionservice.asmx?op=GetData.
1. In the IDE, create a ReportObject containing the data that is needed.
2. In the IDE, create a Report based on the ReportObject. Add the columns of data that need to be exposed.
3. In the front end, load the Report and save a ReportLayout. Be sure to add any criteria and sorting needed to the associated ReportQuery.
4. To test, open the ReportQuery in the Utilities3E AppObject XML Editor. Use the XML of the ReportQuery as the parameter value of the Transaction Services GetData method.
Note that the Report and ReportQuery are just steps in the creation of the test XML. They can be deleted if they are not needed in the front end.
Wednesday, 9 March 2011
Banner Colour
To change the colour of the 3e banner change \inetpub\images\lyt-hdr-m.jpg for the horizontal repeater and \inetpub\images\lyt-dlg-logo.jpg for the 3e logo.
Update: From version 2.6 onwards, \inetpub\images\toolbar\lyt-hdr-sep.jpg also needs to be changed to get a consistent colour block across the whole banner.
ReportObjects and Templates
Changing the ReportObject that a Template is based on automatically updates the underlying XSD file after a rebuild and publish of the object. The template is saved in \Inetpub\XML\ReportObject\Schema\Read for Word and \Inetpub\XML\ReportObject\Schema\Read_Crystal for Crystal reports. The file has the same name as the ReportObject with a .XSD extension.
Selecting the Allow Reprint check box on the print pop up saves the output XML to \RenderInput.
The final report object always saves to \Inetpub\RenderOutput.
Selecting the Allow Reprint check box on the print pop up saves the output XML to \RenderInput.
The final report object always saves to \Inetpub\RenderOutput.
Subscribe to:
Posts (Atom)