Push data σε ανοιχτή καρτέλα λιανικής

52 views
Skip to first unread message

nkons...@gmail.com

unread,
Sep 30, 2025, 9:19:02 AMSep 30
to Softone Developers Network
Έχω ένα external process (windows service σε python), το οποίο τρέχει τοπικά σε σταθμούς εργασίας και μέσω άλλων processes σε API, γεμίζει έναν custom πίνακα στο Softone.

Υπάρχει τρόπος από ήδη ανοιχτή καρτέλα λιανικής, όταν ο πίνακας μου γεμίσει με κάποια εγγραφή ή εγγραφές σε συγκεκριμένο status (1: Donwloaded), να μπορώ να αντλήσω τα στοιχεία του (info of executed items - MTRL, PRICE) και να τα φορτώσω στις γραμμές της ανοιχτής καρτέλας λιανικής;

Νίκος Μάλιακκας

unread,
Sep 30, 2025, 11:57:55 AMSep 30
to Softone Developers Network
Θεωρώντας ότι έχεις έτοιμη την χειροκίνητη εισαγωγή από τον πίνακα (ο χρήστης πατάει ένα κουμπί και του γεμίζουμε τις υπόλοιπες γραμμές),
θέλεις ο χρήστης να μην πατάει το κουμπί αλλά το external service να καλέσει το softone να "πατήσει το κουμπί"

Θα μπορούσες να το καταφέρεις με μια inprocess εφαρμογή μέσα στο softone. 
Μέσα εκεί θα έγραφες π.χ. έναν tcpListener ή εναν websocket server ή εναν httpListener ή ακόμη και έναν FileSystemWatcher για να πάρεις το event για να "πατήσεις το κουμπί"

Τα προβλήματα που έχεις να λύσεις είναι :
Ο χρήστης μπορεί να ανοίξει πολλά παράθυρα λιανικής και εσύ δεν έχεις τρόπο να ξέρεις σε πιο δουλεύει τώρα. Αυτό το καλύπτεις εν μέρη με το να βάλεις τον κώδικα κεντρικά στην inprocess και κάθε που ανοίγει ένα νέο παράθυρο λιανικής να θεωρείς αυτό ως το τρέχον που θα πιάσει το event.

Αν βάλεις ας πούμε tcpListener πάνω στο WORKSON["RETAILDOC"] , το δεύτερο παράθυρο που θα ανοίξει ο χρήστης θα προσπαθήσει να ανοίξει την ίδια πόρτα και θα βγάλει σφάλμα.

Ίσως ένα toggle button στην inprocess, πάνω στο WORKSON["RETAILDOC"] πάνελ, που να δείχνει, αν το τρέχον παράθυρο είναι το ενεργό , αυτό στο οποίο θα "πατηθεί το κουμπί" και αν δεν είναι, να μπορεί ο χρήστης να το κάνει (ενεργό) για να του έρθουν εκεί τα είδη.

Nikos Konstantakopoulos

unread,
Sep 30, 2025, 12:27:15 PMSep 30
to so...@googlegroups.com
Ευχαριστώ πολύ,

Αυτο πως μπορώ να το πετυχω; Μέσω dll;

Υπάρχει κάποιο παράδειγμα για tcp Listener μεσα σε inprocess εφαρμογή; 

Θεωρητικά μπορώ να το πιάσω απο την on_post του object μου και να ανοίξω tcp connection.

Πως θα μπορέσω τελικα ομως να στειλω τα data στην τελευταία καρτέλα λιανικής που άνοιξε; 

Θα χρησιμοποιήσω μια κλάση WORKSON[RETAILDOC] για να ανοίξω το connection και μια κλάση WORKSON[CCCCUSTOMOBJ] για να πιάσω το event στο οποίο καταχωρούνται τα data;


--
Softone Developers Network group.
To post to this group, send email to so...@googlegroups.com
---
Λάβατε αυτό το μήνυμα επειδή έχετε εγγραφεί στην ομάδα "Softone Developers Network" των Ομάδων Google.
Για να απεγγραφείτε απ' αυτή την ομάδα και να σταματήσετε να λαμβάνετε μηνύματα ηλεκτρονικού ταχυδρομείου απ' αυτή, στείλτε ένα μήνυμα ηλεκτρονικού ταχυδρομείου στη διεύθυνση soft1+un...@googlegroups.com.
Για να δείτε αυτή τη συζήτηση, επισκεφτείτε το https://groups.google.com/d/msgid/soft1/3a621263-ea8e-48e3-8b68-e70d9523123en%40googlegroups.com.

Nikos Konstantakopoulos

unread,
Sep 30, 2025, 12:30:12 PMSep 30
to so...@googlegroups.com
Α επίσης στην συγκεκριμένη προβολή λιανικής υπάρχει και button (command) που κάνει την εισαγωγή χειροκίνητα, άρα μήπως μπορώ κάπως να το κάνω trigger όταν θα γίνουν post data στον πίνακα μου;

Στις Τρί 30 Σεπ 2025, 6:57 μ.μ. ο χρήστης Νίκος Μάλιακκας <mali...@gmail.com> έγραψε:
--

Νίκος Μάλιακκας

unread,
Oct 1, 2025, 10:03:53 AMOct 1
to Softone Developers Network
Καλό μήνα σε όλους,
Παραδείγματα για listeners θα βρεις και στο github και στο codeproject (αν και λίγο πιο παλιά κάνουν καλά την δουλειά τους)
Παράδειγμα για in process έχει η softone στο github της, μπορεις να ξεκινήσεις από αυτό.

Nikos Konstantakopoulos

unread,
Oct 1, 2025, 10:57:36 AMOct 1
to so...@googlegroups.com
Καλό μήνα, 

Ποιο ειναι το git repo για τους listeners, επειδή δεν το γνωρίζω. 

Για να δείτε αυτή τη συζήτηση, επισκεφτείτε το https://groups.google.com/d/msgid/soft1/13936ccd-132b-4443-ac8c-c7c64cb07cb6n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages