PocketBiz Scanning

Από


ESPocketBiz – Scanning PocketBiz Scanning-image1.png

Entersoft Business Suite® | Entersoft CRM® | Entersoft Mobile Suite®

Τεχνικό εγχειρίδιο

Ταυτότητα

Έκδοση κειμένου 2.0

Τελ. ενημέρωση Ιούνιος 2021

Copyright

© Copyright 2011 Entersoft A.E. Με την επιφύλαξη όλων των νόμιμων δικαιωμάτων.

Δεν επιτρέπεται η αναδημοσίευση ή μετάδοση με οποιαδήποτε μορφή και για οποιοδήποτε λόγο μέρους ή όλου του παρόντος εγχειριδίου, χωρίς τη ρητή άδεια της Entersoft Α.Ε.

Όσον αφορά το περιεχόμενο του παρόντος…

  • Μπορεί να μεταβληθεί οποιαδήποτε στιγμή.
  • Εξυπηρετεί αποκλειστικά πληροφοριακούς σκοπούς.
  • Δεν παρέχεται εγγύηση για την ύπαρξη τυχόν λαθών ή για τη λανθασμένη χρήση ή για μη επιθυμητά αποτελέσματα από τη χρήση των προτεινόμενων στο παρόν διαδικασιών.

= PocketBiz Scanning

Περιγραφή

Η διαδικασία scanning αποτελεί έναν ακόμα τρόπο εισαγωγής γραμμών σε μια παραγγελία. Χαρακτηριστικό που την διαφοροποιεί από τις υπόλοιπες είναι ότι ο χρήστης σκανάρει ένα barcode, το οποίο αντιπροσωπεύει το προϊόν που θέλει να εισαχθεί στην παραγγελία με κάποιες (default) τιμές.

Ο χρήστης σκανάρει το barcode και η εφαρμογή είτε προσθέτει μια νέα γραμμή στο καλάθι ή την ενημερώνει, αν υπάρχει ήδη στο καλάθι. Για κάθε scan που εκτελείται, εκτελούνται μια σειρά από ενέργειες στις τιμές της γραμμής της παραγγελίας, οι οποίες ορίζονται στο xml. Ενδεικτικά μια ενέργεια που μπορεί να οριστεί στο xml είναι η πρόσθεση της ποσότητας που «έρχεται» από το query, το οποίο ορίζεται κι αυτό στο xml. Μια άλλη ενέργεια μπορεί να είναι η παράθεση των σειριακών αριθμών των προϊόντων σε κάποιο text πεδίο της παραγγελίας.

Με βάση τα παραπάνω, αν η τιμή που έρχεται για κάθε σκανάρισμα είναι «5» και οι σειριακοί αριθμοί των 5 πρώτων προϊόντων είναι «0001», «0002», «0003», «0004» και «0005», τότε εκτελώντας 5 σκαναρίσματα, η εικόνα της παραγγελίας θα είναι η παρακάτω:

  • 1ο σκανάρισμα: Εισαγωγή γραμμής στην παραγγελία με ποσότητα «5» και serial numbers «0001».

  • 2ο σκανάρισμα: Ενημέρωση της γραμμής. Ποσότητα «10», serial numbers “0001, 0002»

  • 3ο σκανάρισμα: Ενημέρωση της γραμμής. Ποσότητα «15», serial numbers “0001, 0002, 0003»

  • 4ο σκανάρισμα: Ενημέρωση της γραμμής. Ποσότητα «20», serial numbers “0001, 0002, 0003, 0004»

  • 5ο σκανάρισμα: Ενημέρωση της γραμμής. Ποσότητα «25», serial numbers “0001, 0002, 0003, 0004, 0005»

Να σημειωθεί ότι μετά το πέρας κάθε σκαναρίσματος, η εφαρμογή μετακινεί το grid του καταλόγου ή του καλαθιού ώστε να είναι εμφανής η τελευταία τιμή που άλλαξε (στο παραπάνω παράδειγμα θα εμφανίζει τη στήλη serial numbers). Σε μεταγενέστερη έκδοση, το πεδίο στο οποίο θα γίνεται focus θα δίνεται στο xml.

Με το πέρας του σκαναρίσματος, η αποθήκευση ή η περαιτέρω επεξεργασία της παραγγελίας γίνεται με το γνωστό τρόπο.

Παραμετροποίηση

Η παραμετροποίηση της διαδικασίας γίνεται από το SalesConfigXML, με την προσθήκη ενός κόμβου με root element «Scan» όπως φαίνεται παρακάτω

<scan>

<sql>

<query type=\"Offline\"

select=\"STI.stiid as STIID, STI.codcode as sticode, IFNULL(STI.defaultqtya,5) as defaultqty\"

from=\"STI\"

where=\"STI.codcode = $barcode$\"

groupby=\"\"

orderby=\"\"/>

</sql>

<mappingscan focusdatamember=\"stdqtyA\">

<datamemberscan scan=\"defaultqty\" model=\"stdqtyA\" action=\"ADD\" />

<datamemberscan scan=\"sticode\" model=\"udfchar1\" action=\"APPEND\" />

</mappingscan>

</scan>

Όπως παρατηρείται, υπάρχει το query στο οποίο έρχονται τα data που θα χρησιμοποιηθούν από το επόμενο node «mappingscan». Σε αυτό το node ορίζεται ποια ενέργεια «action» θα εκτελεστεί στο datamember της γραμμής «model» με την τιμή που προκύπτει από το παραπάνω query «scan».

Συγκεκριμένα, στο παραπάνω xml ορίζουμε ότι η τιμή defaultqty θα προστίθεται (action=add) στην ποσότητα stdqtyA της γραμμής σε κάθε σκανάρισμα, ενώ αντίστοιχα, το sticode από το query θα παρατίθεται (action=append) στο πεδίο udfchar1, δίνοντας τελικά ένα string της μορφής «serialNo1, serialNo2, …, serialNoN»

Παρατηρήσεις

Να σημειωθεί ότι επειδή δεν έχει υλοποιηθεί μηχανισμός προστασίας του query (default query) σε περίπτωση που αυτό δεν έχει οριστεί στο xml, παρακαλείστε να γράφετε ΠΑΝΤΑ ένα query το οποίο περιέχει οπωσδήποτε το πεδίο «stiid» του STI με alias (επίσης) «stiid».

Ο μηχανισμός θα προστεθεί στο μέλλον.

Αναφέρθηκε παραπάνω ότι μετά από κάθε σκανάρισμα, η εφαρμογή κινεί το grid ώστε να είναι εμφανής η τελευταία τιμή που αλλάχθηκε. Υπάρχει περίπτωση το προϊόν που αντιστοιχεί στο σκαναρισμένο barcode να μην υπάρχει στον πίνακα STI. Σε αυτή την περίπτωση εμφανίζεται μήνυμα.

Επίσης ενδέχεται το προϊόν να μην υπάρχει στον κατάλογο. Είτε επειδή δεν έρχεται από το query του SalesConfigXML, ή επειδή έχουν εφαρμοστεί φίλτρα στο grid. Σε αυτή την περίπτωση εμφανίζεται μήνυμα που προτρέπει το χρήστη να καθαρίσει τα φίλτρα και να ξαναπροσπαθήσει.

Προς το παρόν υποστηρίζονται μόνο οι ενέργειες «ADD» και «APPEND». Μπορείτε ελεύθερα να προτείνετε ενέργειες οι οποίες θα σας φανούν χρήσιμες.


PDF Version