Θεωρώντας ότι έχεις έτοιμη την χειροκίνητη εισαγωγή από τον πίνακα (ο χρήστης πατάει ένα κουμπί και του γεμίζουμε τις υπόλοιπες γραμμές),
θέλεις ο χρήστης να μην πατάει το κουμπί αλλά το external service να καλέσει το softone να "πατήσει το κουμπί"
Θα μπορούσες να το καταφέρεις με μια inprocess εφαρμογή μέσα στο softone.
Μέσα εκεί θα έγραφες π.χ. έναν tcpListener ή εναν websocket server ή εναν httpListener ή ακόμη και έναν FileSystemWatcher για να πάρεις το event για να "πατήσεις το κουμπί"
Τα προβλήματα που έχεις να λύσεις είναι :
Ο χρήστης μπορεί να ανοίξει πολλά παράθυρα λιανικής και εσύ δεν έχεις τρόπο να ξέρεις σε πιο δουλεύει τώρα. Αυτό το καλύπτεις εν μέρη με το να βάλεις τον κώδικα κεντρικά στην inprocess και κάθε που ανοίγει ένα νέο παράθυρο λιανικής να θεωρείς αυτό ως το τρέχον που θα πιάσει το event.
Αν βάλεις ας πούμε tcpListener πάνω στο WORKSON["RETAILDOC"] , το δεύτερο παράθυρο που θα ανοίξει ο χρήστης θα προσπαθήσει να ανοίξει την ίδια πόρτα και θα βγάλει σφάλμα.
Ίσως ένα toggle button στην inprocess, πάνω στο WORKSON["RETAILDOC"] πάνελ, που να δείχνει, αν το τρέχον παράθυρο είναι το ενεργό , αυτό στο οποίο θα "πατηθεί το κουμπί" και αν δεν είναι, να μπορεί ο χρήστης να το κάνει (ενεργό) για να του έρθουν εκεί τα είδη.