aberon-EL-5.2.0.0
aberon WMS®
Νέα χαρακτηριστικά και επεκτάσεις
Περιεχόμενα
- 1 Ταυτότητα
- 2 Οδηγίες εγκατάστασης
- 3 Συνοπτική περιγραφή περιεχομένων έκδοσης
- 4 Λειτουργικότητα διαδικασιών RF
- 5 Νέοι τύποι διαδικασιών RF
- 6 Επεκτασιμότητα μοντέλου εφαρμογής
- 7 Νέα custom action types
Ταυτότητα
Έκδοση λογισμικού [aberon WMS, aberon RF, aberon WMS Billing] [5.2.0]
Τελ. ενημέρωση 28/7/2023
Οδηγίες εγκατάστασης
Για νέα εγκατάσταση ακολουθείται η τυπική διαδικασία.
Για μετάβαση από προηγούμενη version απαιτείται 5.1.1.
Συνοπτική περιγραφή περιεχομένων έκδοσης
Δείτε μια συνοπτική περιγραφή των κύριων επεκτάσεων της έκδοσης. Στη συνέχεια, αναλύεται κατά κατηγορία ο πλήρης κατάλογος των νέων λειτουργιών & βελτιώσεων με οδηγίες χρήσης & παραδείγματα όπου χρειάζεται.
Λειτουργικότητα διαδικασιών RF
Νέες συναρτήσεις
- Η νέα συνάρτηση CREATE_RF_MENU δίνει τη δυνατότητα δημιουργίας menu
- Η νέα συνάρτηση SET_RF_VARS δίνει τη δυνατότητα να αποθηκεύουμε σε μεταβλητές το αποτέλεσμα ενός query
Προσθήκη νέου πεδίου
- Είναι δυνατό να προστίθενται νέα πεδία στο προκαθορισμένο flow μιας διαδικασίας RF
Προσθήκη action item
- Είναι δυνατό να προστίθενται νέα action items σε διαδικασίες RF
Χρήση Query Wizard
- Τα πεδία φίλτρων και ταξινόμησης μπορούν να ορίζονται μέσω του query wizard
Νέοι τύποι διαδικασιών RF
Εντολές
- Ο συγκεκριμένος τύπος διαδικασίας RF υποστηρίζει τις εντολές όλων των τύπων (Ανατροφοδοσία, Μετακίνηση, Picking, κτλ)
Put Away
- Ο συγκεκριμένος τύπος διαδικασίας RF υποστηρίζει την εκτέλεση εντολών επιλεγμένων φορέων. Είναι κατάλληλη για αποθήκευση αλλά και cross-docking
Μετακίνηση-Διακίνηση
- Ο συγκεκριμένος τύπος διαδικασίας RF υποστηρίζει τη μετακίνηση ή/και διακίνηση φορέων αποθέματος
Επεκτασιμότητα μοντέλου εφαρμογής
New Custom Table
- Δίνεται η επιλογή στον χρήστη να κάνει προσθήκη νέου custom πίνακα μέσω της εξερεύνησης αντικειμένων.
New Custom Fields
- Δίνεται δυνατότητα να προστεθούν νέα fields είτε σε ήδη υπάρχοντες πίνακες είτε σε πίνακες που δημιουργήθηκαν από το χειριστή.
Relations
- Δυνατότητα ορισμού συνδέσεων των νέων πινάκων με νέους ή ήδη υπάρχοντες στη βάση.
Nέα Custom Action Types
Ένα grid είναι δυνατό να συνδεθεί με λειτουργίες του Data Exchange ή custom c# Scripts.
Billing
Χρέωση ΚΟΛΑ
- Προστέθηκε η επιλογή χρέωσης βάσει ΚΟΛΑ των δελτίων για τα εργατικά, την διανομή και τις επιπρόσθετες υπηρεσίες.
Χρέωση Πραγματικού Lu3
- Προστέθηκε η επιλογή χρέωσης βάσει πραγματικών LU3.
Μενού RF – Drag and drop
Στις «Επιλογές Μενού RF» η ταξινόμηση και στα «Πεδία RF» το Α/Α μπορεί να αλλάξει με drag and drop
Συσκευασίες – Ιστορικό Συσκευασιών
Πλέον οι συσκευασίες και το ιστορικό συσκευασιών θα διαχειρίζονται διαφορετικά queries, views και reports.
Export σε Excel
Κατάργηση ομαδοποίησης στο εξαγόμενο excel.
Γύρισμα αποθέματος
Υλοποιήθηκε νέο report.
Λειτουργικότητα διαδικασιών RF
Νέες συναρτήσεις
SET_RF_VARS
Ας υποθέσουμε ότι χρειάζεται να δημιουργηθεί ένα flow όπου ο χρήστης θα σαρώνει ένα είδος στη ράμπα παραλαβής και στη συνέχεια θα εμφανίζεται πέραν του κωδικού και της περιγραφής, το πλήθος των παραγγελιών που δεν ήταν δυνατό να κάνουν κράτηση για το συγκεκριμένο είδος καθώς και η συνολική ποσότητα ζήτησης.
Αρχικά δημιουργούμε μια νέα επιλογή και δηλώνουμε ένα πεδίο τύπου «είδος».
Κατόπιν της σάρωσης του είδους εμφανίζονται by default o κωδικός και η περιγραφή:
Προσθέτοντας τον ακόλουθο κώδικα επιτυγχάνουμε τα εξής:
Εκτελείται το query που φαίνεται στην εικόνα. Το :P1 είναι η πρώτη παράμετρος του query. Θα λάβει την τιμή που περνάμε ως όρισμα μετά το query. Στην συγκεκριμένη περίπτωση είναι το V_1_ITEMID που ενημερώνεται αυτόματα μετά το scan του barcode του είδους. Μπορούμε να περάσουμε μέχρι 10 ορίσματα.
* Το πεδίο που χρησιμοποιούμε είναι τύπου είδους οπότε το σύστημα αυτόματα ενημερώνει μια μεταβλητή με όνομα V_$_ITEMID όπου $ το πρόθεμα μεταβλητής. Στην συγκεκριμένη περίπτωση δεν έχουμε ορίσει πρόθεμα μεταβλητών οπότε χρησιμοποιείται ο Α/Α το πεδίου.
Στη συνέχεια μέσω της συνάρτησης G ανασύρουμε τις τιμές των πιο πάνω μεταβλητών ώστε να ενημερώσουμε το πεδίο DISPLAY που χρησιμοποιεί η εφαρμογή του RF ώστε να εμφανίσει πληροφορίες στο χρήστη.
Το αποτέλεσμα είναι μετά τη σάρωση του barcode να εμφανιστούν επιπρόσθετα τα στοιχεία που επιθυμούμε:
- O κώδικας που φαίνεται στην πιο πάνω εικόνα είναι ο ακόλουθος:
| SET_RF_VARS (V_RFFLOWINSTANCEID,'
SELECT COUNT(*) "ORD_CNT", SUM(ODT.TOTALQTY) "SUM_QTY" FROM ORDDETS ODT WHERE ODT.ITEMID=TO_NUMBER(:P1)' , V_1_ITEMID ); DISPLAY:=L(DISPLAY)||L('ΠΑΡΑΓΓΕΛΙΕΣ:'||G('ORD_CNT')); DISPLAY:=L(DISPLAY)||L('ΠΟΣΟΤΗΤΑ:'||G('SUM_QTY')); |
|---|
- Αν στη συνέχεια για παράδειγμα θέλουμε να περιορίσουμε την αναζήτηση σε ένα μόνο δρομολόγιο το οποίο έστω ότι είναι αποθηκευμένο στη μεταβλητή ROUTEID τότε η χρήση της SET_RF_VARS θα γινόταν με ένα ακόμη όρισμα (αυτό του δρομολογίου), ως εξής:
Εμφάνιση εικόνας
Αν θέλουμε να εμφανίσουμε μια εικόνα τότε μπορούμε να ενημερώσουμε την μεταβλητή DISPLAY κάνοντας concatenate πριν το πεδίο που φέρει τη url της εικόνας, το πρόθεμα 'img:'. Για παράδειγμα:
DISPLAY:=L(DISPLAY)||'img:'||R_1.R.IMAGEPATH;
Λεπτομέρειες
Σε περίπτωση που απαιτείται ‘οικονομία χώρου’ μπορούμε να χρησιμοποιούμε τη μεταβλητή DETAILS αντί της DISPLAY οπότε οι “έξτρα” πληροφορίες θα εμφανίζονται όταν γίνει tap το arrow που εμφανίζεται δεξιά από το πεδίο.
Σημειώνεται ότι για το πεδίο με τύπο «είδος» η μεταβλητή DETAILS είναι εξ ορισμού ενημερωμένη με την περιγραφή και την εικόνα του είδους.
CREATE_RF_MENU
Ας υποθέσουμε ότι χρειάζεται να υλοποιηθεί flow όπου εμφανίζει τις παραγγελίες για τις οποίες έχει ολοκληρωθεί το picking κατά 100%. Στη συνέχεια ο χειριστής επιλέγει μια παραγγελία και αυτή εγκυροποιείται.
Σε ένα πεδίο τύπου Any, γράφουμε τον ακόλουθο κώδικα:
Η στήλη με alias CAPTION είναι αυτή που θα εμφανίζεται στο menu. Οποιαδήποτε άλλη στήλη είναι χρήσιμη ώστε να ενημερωθεί η αντίστοιχη μεταβλητή. Στο πιο πάνω παράδειγμα, όταν ο χρήστης επιλέξει μια παραγγελία θα ενημερωθεί η μεταβλητή ORDERID με τον Α/Α της παραγγελίας.
Σχετικά με τα ορίσματα του query ισχύει ό,τι ακριβώς και στην SET_RF_VARS.
Αν θέλαμε να εμφανιστούν και τα τεμάχια της παραγγελίας, θα τροποποιούσαμε την εντολή ως εξής:
Το αποτέλεσμα θα ήταν το ακόλουθο:
Αν θέλουμε μετά την επιλογή ενός item του menu να εκτελεστεί συγκεκριμένος κώδικας τότε αρκεί να γράψουμε αυτό τον κώδικα σε μια στήλη με alias CODE. Για παράδειγμα έστω ότι θέλουμε σε περίπτωση που επιλεχθεί μια παραγγελία με περισσότερα από 100 τεμάχια, να μην προχωρήσουμε στο επόμενο βήμα (δηλαδή την εγκυροποίηση).
Προσοχή χρειάζεται στο πλήθος των quotes. Το query στη συγκεκριμένη περίπτωση είναι ένα όρισμα της CREATE_RF_MENU τύπου string. Συνεπώς όταν θέλουμε να χρησιμοποιήσουμε quotes (ώστε π.χ. να κάνουμε concatenate το λεκτικό TEM στο CAPTION) τότε αντί για ένα quote (που θα βάζαμε στον sql developer) χρησιμοποιούμε δύο.
Στην περίπτωση του πεδίου CODE όπου το περιεχόμενο του είναι string το κάνουμε enclose σε double quotes. Αν θέλουμε να χρησιμοποιήσουμε εντός αυτού και άλλα string literals τότε χρησιμοποιούμε τέσσερα quotes.
Σε επόμενη version θα προστεθούν wizards που θα απλοποιούν τη συγγραφή της CREATE_RF_MENU.
Βάσει του πιο πάνω κώδικα, αν ο χρήστης επιλέξει μια παραγγελία με περισσότερα από 100 τεμάχια εμφανίζεται το πιο κάτω μήνυμα:
Για να ολοκληρώσουμε το πιο πάνω flow, αρκεί να προσθέσουμε ένα ακόμα πεδίο που θα κάνει την εγκυροποίηση της παραγγελίας.
Ο κώδικάς του αρκεί να είναι:
ORD_CONFIRM(G('ORDERID'));
Σημειώνεται ότι τα built-in flows χρησιμοποιούν μεταβλητές με prefix #. Τις μεταβλητές αυτές μπορούμε να τις χρησιμοποιούμε όταν είμαστε βέβαιοι για τη λειτουργικότητά τους. Αν θέλουμε να είμαστε σίγουροι ότι μια μεταβλητή που θα ορίσουμε δεν θα κάνει conflict με μια built-in μεταβλητή, τότε αρκεί να μη χρησιμοποιήσουμε το πρόθεμα #.
Χρήση Query Wizard
Σε πεδία που χρειάζεται να γράψουμε sql expressions είτε ως φίλτρο είτε ως order by, κάνοντας δεξί κλικ->Show Full Sql, εμφανίζεται ο query wizard. Το expression που γράφουμε κάτω από τη γραμμή με το comment –APPEND YOUR CODE BELLOW THIS LINE, είναι το expression που θα χρησιμοποιηθεί από το flow.
Η λειτουργικότητα αυτή υποστηρίζεται στα ακόλουθα πεδία:
- Κανόνας αυτόματης ανάθεσης εντολών συλλογής
- Κανόνας αυτόματης ανάθεσης put to wall
- Φίλτρο και ταξινόμηση εντολών
Προσθήκη νέου πεδίου
Έστω ότι σε ένα flow εισαγωγών θέλουμε ο χειριστής μετά την επιλογή της εισαγωγής να καταχωρεί ένα πεδίο σχολίων το οποίο θα ενημερώνει το «Οριζόμενο 1» του header της εισαγωγής:
Στο νέο tab “Πρόσθετα πεδία Flow”, ορίζουμε το νέο πεδίο το οποίο θέλουμε να εμφανίζεται μετά την επιλογή της εισαγωγής.
Στο tab της ενσωμάτωσης κώδικα, το νέο πεδίο πλέον είναι διαθέσιμο και μπορούμε να γράψουμε τον ακόλουθο κώδικα:
Προσθήκη Action Item
Έστω ότι το πιο πάνω πεδίο δεν θέλουμε να γίνεται request μετά την επιλογή της εισαγωγής, αλλά μόνο όταν το επιλέξει ο χειριστής. Αρχικά στο πεδίο του Α/Α της εισαγωγής προσθέτουμε τον κώδικα NEXT:=O('INB_INF'); ώστε να γίνεται bypass to πεδίο των σχολίων. Στη συνέχεια στο πεδίο του είδους κάνοντας δεξί click->”Action Items”, προσθέτουμε το Action Item όπως φαίνεται στην εικόνα.
Στη συνέχεια ο χειριστής όταν η ροή βρίσκεται στο πεδίο του είδους, πατώντας το drop down των action items έχει στη διάθεσή του την επιλογή «Καταχώρηση σχολίων». Όταν επιλεχθεί το συγκεκριμένο Action Item εκτελείται ο κώδικας NEXT= Ο('#REM'); όπου οδηγεί τη ροή στην καταχώρηση του νέου πεδίου των σχολίων.
Νέοι τύποι διαδικασιών RF
Εντολές
Ο τύπος διαδικασίας «Εντολές» δίνει την δυνατότητα εκτέλεσης εντολών οποιουδήποτε τύπου.
Φίλτρο
To φίλτρο μας δίνει τη δυνατότητα να ορίσουμε ποιες ακριβώς εντολές θέλουμε να εκτελέσουμε. Με τη λειτουργικότητα “Show Full Sql” είναι δυνατό να οριστεί το φίλτρο με χρήση του Query Wizard.
Ταξινόμηση
Με παρόμοιο τρόπο μπορούμε να ορίσουμε την ταξινόμηση με την οποία θέλουμε να εμφανίζονται οι εντολές. Στο ακόλουθο παράδειγμα δίνεται προτεραιότητα στις εντολές ανατροφοδοσίας που εκδόθηκαν από την RF εφαρμογή.
H default ταξινόμηση είναι:
- Προτεραιότητα ‘θέσης από’
- Διάδρομος
- Βάθος
- Σχετικό Βάθος
- Επίπεδο
Συγκεκριμένα:
NVL(V.LOCF_PICKINGORDER,0),V.AISLE,V.BAY,V.RELATIVEBAY,
V.LAYER,V.ITEMCODE,V.ITEMID,V.STOCKSTATUSID,V.WMSSTATUSID,
NVL(V.LOTID,0),V.DATEIN,V.TASKID
Browse
Υπάρχει δυνατότητα πριν την εκτέλεση των εντολών να εμφανίζεται browse με τα σύνολα των εντολών ανά ζώνη (από), ή διάδρομο, ώστε ο χειριστής να εκτελεί τις εντολές μιας συγκεκριμένης ζώνης ή διαδρόμου.
Εκτέλεση εντολών
Οι εντολές εμφανίζονται στην οθόνη του χειριστή μία-μία όπως φαίνεται στην ακόλουθη εικόνα:
Η ίδια εντολή δεν εμφανίζεται ποτέ σε δύο χειριστές. Με τον τρόπο αυτό είναι δυνατό να εργάζονται περισσότεροι από έναν χειριστές στην ίδια περιοχή της αποθήκης, εκτελώντας εντολές από το ίδιο ‘pool’ χωρίς να υπάρχει περίπτωση το σύστημα να εμφανίσει την ίδια εντολή σε περισσότερους από έναν χειριστές.
Στις ακόλουθες εικόνες εμφανίζονται ορισμένα παραδείγματα σχετικά με τις δυνατότητες παραμετροποίησης των λεπτομερειών της ροής εκτέλεσης.
Put Away
Ο τύπος διαδικασίας Put Away δίνει τη δυνατότητα έκδοσης και εκτέλεσης εντολών αποθήκευσης για ένα συγκεκριμένο φορέα (Lu3) ή συγκεκριμένο περιεχόμενο φορέα (δηλαδή είδος που βρίσκεται σε ένα Lu3 ή μια θέση).
Σε περίπτωση που έχουν προεκδοθεί εντολές για το συγκεκριμένο φορέα (οποιουδήποτε τύπου) τότε δεν εκδίδονται εντολές αποθήκευσης, αλλά εμφανίζονται οι εντολές αυτές ώστε να εκτελεστούν από το χειριστή. Με αυτό τον τρόπο είναι δυνατό να εκτελούνται σενάρια cross-docking όταν εκδίδονται εντολές τύπου συλλογής απευθείας από τις ράμπες παραλαβής.
Στις ρυθμίσεις του flow επιλέγεται ο τύπος φορέα (Lu3 ή θέση), αν θέλουμε να γίνει put away χωρίς να διαλυθεί, την ταξινόμηση εμφάνιση των εντολών (όπως αναλύεται στο κεφάλαιο εντολές) και τις ‘γνωστές’ λεπτομέρειες (επιβεβαίωση είδους κλπ) που είναι διαθέσιμες στις εντολές και τις εντολές συλλογής.
Μετακίνηση-Διακίνηση
Με το συγκεκριμένο τύπο διαδικασίας, είναι δυνατό να εκτελείται μετακίνηση μεταξύ θέσεων, διακίνηση βάσει ορισμού κίνησης ή ταυτόχρονα και οι δύο διαδικασίες.
Ορίζεται παραμετρικά ο τύπος κίνησης. Στην περίπτωση που πρόκειται για διακίνηση (ή μετακίνηση/διακίνηση) είναι δυνατό να χρησιμοποιείται συγκεκριμένος ορισμός κίνησης, διαφορετικά ο ορισμός κίνησης δίνεται από το χειριστή.
Ενεργοποιώντας το check box «Ο προορισμός στην αρχή», είναι δυνατό να κάνουμε μετακίνηση από πολλά Lu3 ή θέσεις σε μία θέση ή Lu3 χωρίς να χρειάζεται να σαρώνουμε τον προορισμό σε κάθε κίνηση.
Με το check box «Πολλαπλά περιεχόμενα» μπορούμε να κάνουμε πολλές κινήσεις από τον από τον ίδιο φορέα χωρίς να χρειάζεται να τον σαρώνουμε και σε κάθε κίνηση.
Επεκτασιμότητα μοντέλου εφαρμογής
Ακολουθούν οι νέες δυνατότητες:
- New Custom Table: Δίνεται η επιλογή στον χρήστη να κάνει προσθήκη νέου custom πίνακα μέσω της εξερεύνησης αντικειμένων.
- Create New Custom Field: Η νέα επιλογή ‘Create New Custom Field’ δίνει τη δυνατότητα να βάλουμε καινούρια fields είτε σε ήδη υπάρχοντες πίνακες είτε στους πίνακες που δημιουργήσαμε εμείς.
- Relations: Μέσω του συγκεκριμένου tab έχουμε τη δυνατότητα να ορίσουμε τις συνδέσεις του νέου πίνακα μας με τους ήδη υπάρχοντες στη βάση.
Έστω ότι θέλουμε να δημιουργήσουμε έναν νέο πίνακα για τα μηχανήματα που διαθέτει ένα Κέντρο Διανομής, επιλέγοντας το ‘Create Custom Table’ εμφανίζεται το παράθυρο που μας ζητάει τις πληροφορίες για τον πίνακα που θέλουμε να φτιάξουμε. Το όνομα του νέου πίνακα πρέπει να ξεκινάει υποχρεωτικά με ‘R_’ ούτως ώστε να λειτουργήσει σωστά.
Στη συνέχεια προσθέτουμε το πρώτο πεδίο του πίνακα το οποίο θα είναι το primary key και θα ονομάζεται R_WarehouseID.
Αφου ολοκληρώσουμε την προσθήκη των πεδίων πρέπει να ενημερώσουμε τη βάση δεδομέων και το νέο μενού είναι διαθέσιμο στην επιλογή ‘Ειδικά’
Επιλέγοντας το ‘Main’ μας εμφανίζει το μενού του πίνακα που δημιουργήσαμε και έχουμε την παρακάτω φόρμα για την προσθήκη εγραφών στον πίνακα.
Επίσης έχουμε τη δυνατότητα να ορίσουμε τη σύνδεση του νέου πίνακα επιλέγουμε το ‘Relations’
Στην οθόνη που εμφανίζεται πατώντας το βελάκι κάτω από το πεδίο ‘Master Table’ βλέπουμε όλους τους πίνακες και διαλέγουμε αυτόν που θέλουμε να συνδέσουμε. Αφού διαλέξουμε τον πίνακα τα υπόλοιπα πεδία εμφανίζονται αυτόματα και μπορούμε να επιλέξουμε ποιο ‘Master Key’ θέλουμε. Συνήθως ορίζουμε το primary key (pk) του πίνακα με τον οποίο κάνουμε τη σύνδεση. Γνωρίζουμε ότι η επιλογή μας έχει γίνει δεκτή από το σύστημα όταν εμφανιστεί μία κενή επιπλέον γραμμή από κάτω.
Στη συνέχεια μπορούμε να συνδέσουμε τα fields του ‘Master Πίνακα’ με τα fields του νέου μέσω του ‘Join Field’ και του ‘Info Field’. Όπως και προηγουμένως για να γνωρίζουμε ότι η επιλογή μας έχει γίνει δεκτή από το σύστημα πρέπει να εμφανιστεί η επιπλέον γραμμή.
Επομένως όταν ανοίγουμε τη φόρμα έχουμε την εξής εικόνα και πληκτρολογώντας το ‘Α/Α’ εμφανίζεται η ‘Περιγραφή 1’:
Σε περίπτωση που δε θέλουμε η σύνδεση να γίνει με το Α/Α αλλά για παράδειγμα με το WarehouseCode πληκτρολογούμε στην επιλογή ‘Alternate Key’ Wrh100,WarehouseCode(Descr1) , όπου το Wrh100 είναι το Prefix που μας δίνεται δίπλα από το ‘Master Key’. Αυτό υπερισχύει και θα εμφανίζεται στη φόρμα.
Έστω ότι θέλουμε να προσθέσουμε στον πίνακα μας ένα ακόμα πεδίο. Σε περίπτωση που θέλουμε το νέο πεδίο να έχει συγκεκριμένη θέση κάνουμε δεξί κλικ στο προηγούμενο πεδίο του πίνακα και στη συνέχεια επιλέγουμε το ‘Create New Custom Field’. Επιπλέον υπάρχουν οι επιλογές “Move Up Row” και “Move Down Row” που μετατοπίζουν το πεδίο που επιλέγουμε πάνω και κάτω αντίστοιχα. Τέλος μπορούμε να διαγράψουμε κάποιο από τα custom fields επιλέγοντας ‘Delete Custom Field’.
Πηγαίνοντας να ενημερώσουμε τη βάση δεδομένων βλέπουμε την τροποποίηση στον πίνακα.
Αντιστοίχως ορίζουμε τα ‘Relations’
Οπότε στη φόρμα έχουμε τα εξής πεδία που ορίζονται από το Α/Α κάθε πίνακα:
O πίνακας ‘Πελάτες’ έχε διπλό κλειδί, οπότε αρμόζει να χρησιμοποιήσουμε το πεδίο ‘Alternate Key’ και θα συμπληρώσουμε τα κλειδιά του πίνακα ‘Πελάτες’. Προσοχή ότι το Prefix του πίνακα δίνεται στη τελευταία στήλη και βλέπουμε ότι είναι Cus100. Τα κλειδιά είναι το CustomerCode και το OwnerCode άρα θα έχουμε
Στη φόρμα πλέον βλέπουμε ότι ενώ ο πίνακας μας έχει μόνο ένα πεδίο για τον πελάτη εμφανίζονται 2 επιλογές λόγω του ‘Altertnate Key’.
Νέα custom action types
Προστέθηκε η δυνατότητα να καλούμε οντότητες του Data Exchange και από τις οθόνες του aberon με χρήση του φίλτρου της οθόνης δημιουργώντας Custom Action για όποιες οντότητες μας ενδιαφέρει ακολουθώντας τα παρακάτω βήματα.
Έστω ότι θέλουμε να δημιουργήσουμε Custom Action για τον Message Sender ‘GetOrders’, ο οποίος συλλέγει πληροφορίες από παραγγελίες και για κάθε μία δημιουργεί ένα αρχείο .txt. Εν συντομία ο τρόπος λειτουργίας της παραπάνω οντότητας είναι ο εξής:
Δημιουργούμε έναν ‘Message Writer’ τον οποίο ονομάζουμε ‘GetOrders’ και ορίζουμε ως output ->Text
- Ανοίγουμε το ‘Mapping’ γράφουμε το παρακάτω sql query. Δηλώνουμε το /*SQ*/ /*EQ*/ στο Query Wizard, ώστε να αντικαθίσταται το sql Query, με αυτό της οθόνης, συν τα όποια κριτήρια έχουν εφαρμοστεί.
- Στη συνέχεια δημιουργούμε έναν ‘Message Sender’ στον οποίο μέσω του ‘Options’ επιλέγουμε το όνομα του αρχείου που θα δημιουργεί και τον φάκελο αποθήκευσης.
Για να καλέσουμε αυτόν τον ‘Message Sender’ με δημιουργία ‘Custom Action’ αρχικά πηγαίνουμε στη ‘Προετοιμασία Παραγγελιών’ -> ‘Customize’ -> ‘Custom Actions’ -> ‘Data Exchange’
Στο παράθυρο που θα ανοίξει επιλέγουμε ‘Script’ στη συνέχεια ‘New’ και γράφουμε το όνομα που θέλουμε να δώσουμε στο Action μας.
Μετά μας ζητάει να ορίσουμε ‘Data Exchange Type’ και ‘Name’ οπότε επιλέγουμε αυτά που μας ενδιαφέρουν. Στο παρόν παράδειγμα επιλέγουμε ‘Message Sender’ και ‘Export Orders’
Μέσω της οθόνης επιλέγουμε ποιες παραγγελίες μας ενδιαφέρουν και από το μενού ‘Actions’ -> ‘ExportOrders’ και τα αρχεία δημιουργούνται στον φάκελο που έχει επιλεχθεί.
Το παραπάνω αποτελεί ένα απλό παράδειγμα για τη νέα αυτή δυνατότητα η οποία μπορεί να χρησιμοποιηθεί για όλες τις οντότητες του Data Exchange.
- Επιπρόσθετα μπορούμε να γράψουμε Scripts σε C# απευθείας από την επιλογή που είναι διαθέσιμη στα ‘Custom Actions’. Δημιουργώντας ένα νέο script σε C# πρέπει να δηλώσουμε τα dll τα οποία είναι απαραίτητα για να τρέξει το πρόγραμμα΄.
Στο παραπάνω παράδειγμα δημιουργούμε ένα script με το όνομα ‘Message’ το οποίο μας επιστρέφει ένα μήνυμα(τον κωδικό παραγγελίας) για κάθε μία από τις παραγγελίες που θα επιλέξουμε μέσω του φίλτρου της οθόνης. Πηγαίνοντας στις παραγγελίες από το μενού του aberon επιλέγουμε ποιες παραγγελίες θέλουμε ακολουθούμε τα εξής βήματα:
Με αυτό το τρόπο λαμβάνουμε το εξής μήνυμα:
- Billing
- Χρέωση ΚΟΛΑ
Προστέθηκε η επιλογή χρέωσης βάσει ΚΟΛΑ των δελτίων για τα εργατικά, την διανομή και τις επιπρόσθετες υπηρεσίες.
Δίνεται η επιλογή χρέωσης και για τους 3 τύπους ΚΟΛΑ των δελτίων με δυνατότητα κλιμακωτών χρεώσεων
Οι χρεώσεις εμφανίζονται στις γραμμές των καρτελών
Χρέωση Πραγματικού LU3
Προστέθηκε η επιλογή χρέωσης βάσει πραγματικών LU3.
Οι επιλογές χρεώσεων είναι όμοιες με τις επιλογές που δίνονται στην μονάδα χρέωσης «Ποσότητα» με την διαφορά ότι οι ποσότητες δεν γίνονται αναγωγή σε LU3 και χρεώνονται ως LU3 μόνο τα πραγματικά μη μεικτά LU3.
Μενού RF – Drag and drop
Στις «Επιλογές Μενού RF» η ταξινόμηση μπορεί να αλλάξει με drag and drop
Στα «Πεδία RF» το Α/Α μπορεί να αλλάξει με drag and drop
Συσκευασίες – Ιστορικό Συσκευασιών
Πλέον οι συσκευασίες και το ιστορικό συσκευασιών θα διαχειρίζονται διαφορετικά queries, views και reports. Για την μετάβαση θα πρέπει να ξαναδημιουργήσουμε τα queries – views που χρειαζόμαστε στο ιστορικό των συσκευασιών και να γίνει η σύνδεση με τα reports που χρειαζόμαστε.
Export σε Excel
Για να καταργηθεί η ομαδοποίηση στο εξαγόμενο Excel χρειάζεται στο configuration αρχείο να μπει στο <appSettings> η τιμή <add key="AvoidExcelGroups" value="true" />
Γύρισμα αποθέματος
- Γύρισμα Αποθέματος: Με το Report Γύρισμα Αποθέματος μας δίνεται ένας σημαντικός δείκτης αξιολόγησης του τρόπου διαχείρισης των αποθεμάτων και του βαθμού εκμετάλλευσης των παγίων στοιχείων της Αποθήκης. O δείκτης αυτός προκύπτει από τον Μ.Ο Αποθέματος δια των σύνολο των ποσοτήτων Παραγγελιών
- Η υψηλή κυκλοφοριακή ταχύτητα
- Υποδηλώνει Υψηλά επίπεδα αποδοτικότητας και αποτελεσματικότητας
- Αυξάνει το δείκτη απόδοσης (ROA – Return On Assets) καθώς γίνεται βέλτιστη εκμετάλλευσης των παγίων στοιχείων της εταιρίας.
- Η χαμηλή κυκλοφοριακή ταχύτητά
- Αυξάνει το ύψος των αποθεμάτων
- Οδηγεί σε υψηλό κόστος διατήρησης των Αποθεμάτων
- Οδηγεί σε απαξίωσης, αλλοίωσης ή ακόμη και καταστροφή των αποθεμάτων.
- Η υψηλή κυκλοφοριακή ταχύτητα
Είναι σε μορφή Query και εκτυπωτικού από κινήσεις
Εκτυπωτικό
Query









