Hi there. I’m trying to experiment with report 296 in our test environment - batch posting of sales orders. I’ve created an Order, and done the Ship posting the standard manual method. I’ve gone into batch posting, supplied no filtering, which should from what I have read attempt to do all orders, and I selected the ‘Invoice’ option from the options screen.
When I select “ok”, I get the message “0 orders out of a total of 0 have now been posted.”.
I re-ran it, but supplied only the Order I just created, same result. I went to the order and was able to post as invoiced manually without any issues.
I’ve been able to work out what was happening. I ran a SQL trace and noticed it was looking for a status=1 on the header. I traced this back to the if statement in the approval setup. The only approval setup here was for Quotes, however it seams its presence was causing it to look for released orders only.
Commenting out the approval code or turning off the approval in approval templates solved the issue.
I’m interested to know why though - as the approval has type ‘quote’, not ‘order’. Any thoughts on that would be apprecieted.
North America, USA and Canada and in some versions Mexico.
There can be issues where you have sales tax rates that change. Say the rate is different between the data you first released the order and the date you ship the goods, NAV has to reopen and re-release to update tax. You may have some customization that gives an error when you re-release.
Anyway, what I always do is change the following
//>> Select to see error message or not
// Create PostOK::Boolean
//IF SalesPost.RUN(“Sales Header”) THEN BEGIN
// CounterOK := CounterOK + 1;
if ShowError then begin
PostOK := true;
end else begin
postok := SalesPost.RUN(“Sales Header”);
IF postOK THEN BEGIN
CounterOK := CounterOK + 1;
Add PostOK to the request window, and if you tick it then the routine will stop at the first error instead of continuing. This way you can see what the error is.
//>> Select to see error message or not// Create PostOK::Boolean//IF SalesPost.RUN(“Sales Header”) THEN BEGIN// CounterOK := CounterOK + 1;if ShowError then begin SalesPost.RUN(“Sales Header”); PostOK := true;end else begin postok := SalesPost.RUN(“Sales Header”);end;IF postOK THEN BEGIN CounterOK := CounterOK + 1;//<<