Setting Change_Status on Service Contract Header

BjornNBjornN Member Posts: 2
edited 2021-03-11 in NAV Three Tier
Unable to Open & lock Service Contract Header :

ServiceContract contract = new ServiceContract();
contract = css.Read("SK-99999");
contract.Change_Status = Change_Status.Open;
css.Update(ref contract);

contract = css.Read("SK-99999");
contract.Change_Status = Change_Status.Locked;
error -> css.Update(ref contract);

Errors with : Change Status must be equal to 'Open' in Service Contract Header: Contract Type=Contract, Contract No.=SK-99999. Current value is 'Locked'.

Anyone with a solution to this

regards
Bjørn

Answers

  • irasoelbaksirasoelbaks Netherlands, theMember Posts: 119
    You're trying to achieve someting which is not allowed from a business point of view. When a random user would try the same in the Windows/Webclient this user would get the error also if it's not custom logic you are calling. This is not a technical error. First change the value to Open and then your operation should succeed.
  • BjornNBjornN Member Posts: 2
    edited 2021-02-11
    //open contract for modification
    ServiceContract contract = new ServiceContract();
    contract = css.Read("SK-99999");
    contract.Change_Status = Change_Status.Open;
    css.Update(ref contract);

    ... modify .... contract lines

    ... more logic

    //Lock contract in order to do invoicing ....
    //FAILS
    contract = css.Read("SK-99999");
    contract.Change_Status = Change_Status.Locked;
    css.Update(ref contract);



  • krikikriki Member, Moderator Posts: 8,978
    [Topic moved from 'NAV Tips & Tricks' forum to 'NAV Three Tier' forum]

    Regards,Alain Krikilion
    No PM,please use the forum. || May the <SOLVED>-attribute be in your title!

Sign In or Register to comment.