Allown the server component to run every second
AnsweredHi there!
We must be able to print reports for a customer as quickly as possible ("<= 1 second") after they have been created in B1 (via Service Layer or DI-API).
Currently, no less than 1 minute can be set in the scheduler settings.
Is it possible to implement this feature to run server component less than a minute?
Or is there another way to implement this customer needs with P&D?
i found this post here witch would we also a good solution, but it seems, there was no answer: Add option to trigger B1P&D Server execution based on SBO_SP_TransactionNotification
Kind regards
Benjamin
-
Thank you for your request. It has been scheduled for review by the development team that will get back to you should there be questions.
(Please note that as we are user-driven we can't guarantee that your request will be met unless it gets many votes and/or fit the product vision)
Read more about the Feature Request process here
[Internal Id: 75746] -
>Is it possible to implement this feature to run server component less than a minute?
From a technical perspective, it could be done, but the system is built to not allow overlapping runs (else same things might run twice), and given, start needs to happen, DI-API needs to connect and the actual execution needs to happen, we see this to be quite unrealistic, and for sure <= 1 second is an impossibility...
I would instead recommend you look at this article: https://support.boyum-it.com/hc/en-us/articles/115015716248 ... It allow you to do what our schedules does via the Windows task scheduler so you can make shorter/more advanced schedules
-
Hello Rasmus
Thanks for your quick feedback!
I'd be happy to take a look at your tip.
I'm also aware that <1s makes no sense and is unrealistic.
It was just a matter of underlining that the print should start right after adding the receipt (e.g. A/R invoice).Do you see any other way to trigger it with a stored procedure ore something else?
For example, other of your "competitors" can solve this via a continuously (setting to 0 second) "monitored" folder.
You can put a parameter file in this folder and the print will then be started.Kind regards
Benjamin -
>Do you see any other way to trigger it with a stored procedure ore something else?
No, I'm afraid we only have schedules at the moment... We are working on a new Cloud-based long term alternative to Server components, but it is still early days.
-
Thank your for your Feedback, that's fine.
-
Hello Benjamin.
We have had the same issues with our customers - we do have a warehouse-app which is used to pick and pack the items for many delivery notes from several workstations. So in some cases there are 10 or more delivery notes, which are generated in the sequence of one minute. Since the schedule of the servercomponent was also not enough for us to use it in this cases, we have built an own service, which can handle this scenario. We did also have problems with overlapping printruns but managed to solve this by having an udf on document level, which is set to "in printing queue" for alle the documents which have been in our own schedule before the printing even started. So the same record wouldn´t be taken into account when the next printrun is starting. It then would be switched to "processed", when the document was printed or to "failed", when the document couldn´t be printed or the printrun stopped for some reason.
Would this idea or something like this work also for your print and delivery schedules Rasmus Jensen?
Or is this solution rather laborious to implement into your schedules? -
I think if we need to go this low in time it is better for them not to be scheduled, but individual requests (Print Invoice 1234)... Then duplicate calls are a concern of the caller... We are not keen on needing boyum-controlled UDFs to handle this on documents (people hate when we add UDFs to system screens and there is always issues with document duplication)
-
In our case there is just no way for individual calls, as the employees have no client pc but just an scanner, which generates the documents using a webapp. It is completely understandable that a udf in system objects would not be that great, but maybe using an udt where the information would be inserted/updated would work. I think every second is to much - but if it could work like every 20 seconds it would be enough for most of the scenarios, which anyone could have.
-
UDFs are not really needed for schedules in general (we essentially have the Delivery Log as our UDT).. just custom runs have this issue of "overlapping issues"
-
Hi Daniel
Thanks for your input, we hadn't even considered this approach.
We are currently solving this with the competing product via Batchprint, with which we store an XML with the DocEntry and the corresponding specification of the PrintDef in the Batchprint folder. This allows us to prevent double or overlapping processing.
The batch print folder is currently being checked continuously (timer 0 sec), processing works quickly, unfortunately we have well-known problems with the long preparation of the layouts...
Rasmus, would it be possible to have such a similar function in B1UP? With this, no UDF or similar would have to be created in the system and we could massively reduce the print times if we could switch to Cystal Reports...
-
>Rasmus, would it be possible to have such a similar function in B1UP? With this, no UDF or similar would have to be created in the system and we could massively reduce the print times if we could switch to Crystal Reports...
It is one of the approaches we are looking at, but nothing definitive have been decided
-
Thanks Rasmus for your quick feedback, we look to the future with confidence :)
Please sign in to leave a comment.
Comments
12 comments