Options

Service Order, Starting and Finishing Date

vasamvasam Member Posts: 53
Hi,

We have noticed recently that when we finish Service Order (we change the Repair Status Code to FINISHED in the Service Item Worksheet), Finishing Date and Time are the same as Starting Date and Time?!?

According NAV help (about Finishing Date):
This field contains the finishing date of the service, that is, the date when the Status field changes to Finished.
The program fills in this field with the working date of the day when the status changes.
, but this is not the case.

We have tried in the clean Cronus database, the result is the same, Finishing and Starting Dates and Times are the same after finishing.

This is a NAV bug or we are missing something in the setup or in the process of working with the service module.

We are using NAV 5.0 SP1.

Thanks,

Answers

  • Options
    jannestigjannestig Member Posts: 999
    Had an hour to kill so I went and had a look.

    You were right it Says it should be the Workdate and its anything but that.

    I fixed it by changing the code below in Table 5901 Service item line on the on validate for Repair status code.

    The calculations for response time was unaffected.

    Of Course i wouldn't put it into prod but would report it to MS first as this solution would literally mean a user could change the work date to suit their needs.


    IF RepairStatus.Finished THEN BEGIN
    ServMgtSetup.GET;
    IF ServMgtSetup."Fault Reason Code Mandatory" THEN
    TESTFIELD("Fault Reason Code");
    GetServHeader;
    IF ServHeader."Order Date" > WORKDATE THEN BEGIN
    IF "Starting Date" = 0D THEN BEGIN
    "Starting Date" := ServHeader."Order Date";
    "Starting Time" := ServHeader."Order Time";
    END;
    "Finishing Date" := ServHeader."Order Date";
    IF TIME < ServHeader."Order Time" THEN
    VALIDATE("Finishing Time",ServHeader."Order Time")
    ELSE
    VALIDATE("Finishing Time",TIME);
    END ELSE BEGIN
    IF "Starting Date" = 0D THEN BEGIN
    "Starting Date" := WORKDATE;
    "Starting Time" := TIME;
    END;
    "Finishing Date" := WORKDATE;
    // "Finishing Date" := "Starting Date";

    IF TIME < "Starting Time" THEN
    VALIDATE("Finishing Time","Starting Time")
    ELSE
    VALIDATE("Finishing Time",TIME);
    END;
  • Options
    vasamvasam Member Posts: 53
    Thank you jannestig,

    We have also noticed that line, and yes, we will write to MS for this issue, because it is very strange that this can happen.
    And also MS do not have official document for working with Service module.
    However I will post the reply from MS.

    Thank you again
  • Options
    vasamvasam Member Posts: 53
    Hi,

    We have contacted MS.
    They have a code patch for this issue, which will be integreted in the latest version of NAV.
    So anyone having this issue, do contact MS.

    thank you,
  • Options
    aseigleaseigle Member Posts: 207
    edited 2009-07-29
    edit.
  • Options
    jannestigjannestig Member Posts: 999
    How did you conclude that it was working as designed When.

    1) It actually says in MS own words it should be the current Workdate

    2) MS actually has provided a Fix for it apparently ?
Sign In or Register to comment.