Creating a new layout for the project invoice

A few days ago I needed to create a new country layout for the project invoice in Dynamics. Here is a small guide how to create this setup. I will not describe how to modify the report/invoice. I will only describe how to setup the new report/invoice .

Step 1 – create the dispatcher class

Start by creating a new class named ProjInvoiceDispatcher_DK (or whatever country code you are creating the new layout for). This class must extend the class ProjInvoiceDispatcher_W.

final class ProjInvoiceDispatcher_DK extends ProjInvoiceDispatcher_W
{
}

Create a new method getMenuItemName as below

protected MenuItemName getMenuItemName()
{
return menuitemoutputstr(ProjInvoice_DK);
}

Step 2 – create the country specific report/invoice

Now create a copy of the existing project invoice reports. I used the report ProjInvoice_CZ and I renamed it to ProjInvoice_DK.

Step 3 – create an output menu item

Create an output menu item that points to the report created in step 2.

Step 4 – Modify the Base Enum ReportFormat_W

Add a new node named “Danish format”.

Step 5 – Setup Dynamics to use the new format

In the company that should use the new format go to Project/Setup/Forms/Form setup and select the invoice tab.

Select the new layout in the field “Country specific form”.

Step 6 – link the new dispatcher class

In order to activate the new setup a modification of the calss ProjInvoiceDispatch_W.construct() method must be made. Add the below code to the switch statement:

case ReportFormat_W::DanishFormat_DK     :

dispatcher = new ProjInvoiceDispatcher_DK();

break;

That’s it. Now all you need is to modify the ProjInvoice_DK report so that it meets your layout requirements. Enjoy J





Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>