MOB-ImplementationGuide-5 2

Από

ESMobile Οδηγός υλοποίησης & εξατομίκευσης εφαρμογήςMOB-ImplementationGuide-5 2-image1.pngMOB-ImplementationGuide-5 2-image2.pngMOB-ImplementationGuide-5 2-image3.png

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

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


Ταυτότητα

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

Έκδοση λογισμικού ESMobile 5.2

Τελ. ενημέρωση Δεκέμβριος 2022

Copyright

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

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

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


Περιεχόμενα

Εισαγωγή

Σκοπός του παρόντος εγχειριδίου είναι να δώσει όλες τις απαραίτητες τεχνικές πληροφορίες σε εξειδικευμένους χρήστες που θα θελήσουν να επέμβουν στην προκαθορισμένη λειτουργικότητα της εφαρμογής Entersoft Mobile Suite (ESMobile) Συνοπτικά, οι επιμέρους στόχοι του είναι:

  • Η παροχή αναλυτικών οδηγιών υλοποίησης των επιμέρους οθονών της ESMobile εφαρμογής. Σημειώνουμε εδώ ότι, οι οθόνες που είτε απλά τροποποιούνται είτε υλοποιούνται εξ ολοκλήρου σε επίπεδο εξατομίκευσης της ESMobile εφαρμογής χαρακτηρίζονται ως custom και επισημαίνονται αυτόματα με έναν αστερίσκο.

  • Η παροχή πληροφοριών που αφορούν στις δυνατότητες επέκτασης του σχήματος ή της λειτουργικότητας σε επίπεδο εξατομίκευσης της ESMobile εφαρμογής.

Προϋποθέσεις για τη χρήση της ESMobile εφαρμογής και του παρόντος εγχειριδίου είναι:

  • η γνώση του περιβάλλοντος & του τρόπου χρήσης της εκάστοτε κινητής συσκευής.

  • η γνώση όλων των απαραίτητων ενεργειών εγκατάστασης και ρύθμισης του IIS & Application server

  • το σωστό στήσιμο του απαιτούμενου εξοπλισμού

information Σημείωση

  • Το παρόν εγχειρίδιο αφορά σε όλες τις ESMobile πλατφόρμες (iOS, UWP, Android). Τα σημεία που κατ’ εξαίρεση αφορούν σε συγκεκριμένη ESMobile πλατφόρμα, επισημαίνονται ανάλογα.

  • Τα επιμέρους παραδείγματα που αναπτύσσονται στο παρόν εγχειρίδιο είναι διαθέσιμα προς εγκατάσταση μέσω του εργαλείου mPortal.

Σύμβολα

A picture containing silhouette, archDescription automatically generated iOS πλατφόρμα
IconDescription automatically generated Universal Windows (UWP) πλατφόρμα
IconDescription automatically generated Android πλατφόρμα

Οθόνη επισκόπησης (ListForm)

Η οθόνη επισκόπησης (ListForm) στην πιο απλή της μορφή χρησιμοποιείται για την εμφάνιση δεδομένων υπό μορφή λίστας. Μέσω όμως του κατάλληλου ανά περίπτωση «προσαρτήματος», δίνεται η δυνατότητα επέκτασης της ListForm οθόνης με τα παρακάτω χαρακτηριστικά:

  • Εμφάνιση των αριθμητικών δεδομένων της λίστας υπό μορφή Γραφήματος.

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

Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου ListForm είναι:

Στοιχείο Σχόλιο
Εντολή Απαιτείται η χρήση εντολής τύπου ListFormCreatorCommand.
Φόρμα Για την υλοποίηση της μορφής εμφάνισης της οθόνης στην απλή της μορφή απαιτείται η χρήση αρχείου τύπου AdvancedList.xml. Η υλοποίηση του προσαρτήματος που αφορά στην οθόνη Γραφήματος γίνεται σε αρχείο τύπου ChartParams.xml ενώ η υλοποίηση του προσαρτήματος που αφορά στην Dashboard οθόνη σε αρχείο τύπου ExtraLayoutParams.xml.

Στη συνέχεια της ενότητας αυτής, χρησιμοποιώντας συγκεκριμένο παράδειγμα, θα δώσουμε αναλυτικές οδηγίες υλοποίησης οθόνης τύπου ListForm.

Δεδομένα

Παράδειγμα SampleListForm

Ο ορισμός των δεδομένων της ListForm οθόνης καθώς και η σύνδεση εντολής-φόρμας γίνεται μέσω ανάλογης ρύθμισης των επιμέρους ιδιοτήτων του αρχείου της εντολής. Το αρχείο της εντολής θα πρέπει να βρίσκεται στον υπό-φάκελο Commands της περιοχής ESConfig ή CSConfig. Ιδιαίτερη προσοχή θα πρέπει να δοθεί ώστε το όνομα του αρχείου της εντολής να ταυτίζεται με το όνομα της εντολής μέσα στο αρχείο.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια οθόνη η οποία να εμφανίζει τις διευθύνσεις πελατών υπό μορφή λίστας. Η λίστα αυτή θέλουμε να πληροί τις παρακάτω βασικές προδιαγραφές:

  • Να περιλαμβάνει μόνο τους ενεργούς πελάτες.

  • Να εμφανίζει πληροφορίες από τον πελάτη & τις διευθύνσεις του.

  • Να είναι ταξινομημένη αλφαβητικά βάσει της κολόνας «Επωνυμία» προσώπου.

Έστω επίσης ότι η φόρμα της οθόνης αυτής είναι η SampleListForm

Ιδιότητα Σχόλιο
FormID Ο φάκελος της περιοχής ESForms ή CSForms στον οποίο βρίσκεται το σχετιζόμενο με την οθόνη AdvancedList αρχείο της φόρμας, για το παράδειγμα μας δηλαδή ο φάκελος SampleListForm.
Title Το λεκτικό που εμφανίζεται ως τίτλος της LisfForm οθόνης, για το παράδειγμα μας δηλαδή το λεκτικό «Points of Sales».
Filter Το «στατικό» κριτήριο φιλτραρίσματος των δεδομένων, για το παράδειγμα μας δηλαδή η κολόνα ta.Inactive.
BaseSelect Το select query που καθορίζει τα δεδομένα προς εμφάνιση.
ESQueryID Το όνομα του ανεξάρτητου αρχείου ορισμού του base select query. Συμπληρώνεται μόνο στην περίπτωση που, για λόγους επαναχρησιμοποίησης του select query, έχει επιλεγεί ο ορισμός του σε ανεξάρτητο αρχείο. Σε μια τέτοια περίπτωση, θα πρέπει η ιδιότητα BaseSelect να έχει κενό περιεχόμενο. Σημειώνουμε εδώ ότι, το ανεξάρτητο select query αρχείο θα πρέπει να βρίσκεται στον υπό-φάκελο Queries της περιοχής ESConfig ή CSConfig.
SearchPanelFilter Τα εναλλακτικά κριτήρια αναζήτησης.
SearchPanelID Το όνομα του ανεξάρτητου αρχείου ορισμού των εναλλακτικών κριτηρίων αναζήτησης. Συμπληρώνεται μόνο στην περίπτωση που, για λόγους επαναχρησιμοποίησης των κριτηρίων αναζήτησης, έχει επιλεγεί ο ορισμός τους σε ανεξάρτητο αρχείο. Σε μια τέτοια περίπτωση, θα πρέπει η ιδιότητα SearchPanelFilter να έχει κενό περιεχόμενο. Σημειώνουμε εδώ ότι, το ανεξάρτητο αρχείο κριτηρίων θα πρέπει να βρίσκεται στον υπό-φάκελο SearchPanels της περιοχής ESConfig ή CSConfig.
LoadDataOnOpenForm Άμεση, με την κλήση της οθόνης, εμφάνιση των δεδομένων (true) ή εμφάνιση-ανανέωση των δεδομένων μετά από συμπλήρωση των κριτηρίων αναζήτησης (false). Προτείνεται, σε περιπτώσεις λίστας με μεγάλο πλήθος εγγραφών, να δηλώνεται η τιμή false, έτσι ώστε αφενός η εμφάνιση εγγραφών να γίνεται μόνο μετά από συμπλήρωση των κριτηρίων αναζήτησης και αφετέρου η διαγραφή του περιεχομένου των κριτηρίων αναζήτησης να μην προκαλεί ταυτόχρονα και την ανανέωση των εγγραφών της λίστας.
CacheSearchPanel Διατήρηση του περιεχομένου των κριτηρίων αναζήτησης εγγραφών (true) ή εκκαθάριση τους κατά το κλείσιμο της οθόνης (false).
OrderBy Το «στατικό» κριτήριο ταξινόμησης των δεδομένων, για το παράδειγμα μας δηλαδή η κολόνα p.Name.

Ταξινόμηση

Παράδειγμα SampleListForm

Η δήλωση των εναλλακτικών κριτηρίων ταξινόμησης μιας λίστας εγγραφών γίνεται στο αρχείο της εντολής και μέσω κατάλληλης ρύθμισης της ιδιότητας SortBy. Από τη στιγμή που στην εντολή έχουν δηλωθεί εναλλακτικά κριτήρια ταξινόμησης, στο πάνω-δεξιά μέρος της οθόνης εμφανίζεται το πλήκτρο A black rectangle with a black background Description automatically generated with low confidence-Ταξινόμηση. Μέσω του πλήκτρου αυτού δίνεται η δυνατότητα εναλλαγής μεταξύ των διαθέσιμων κριτηρίων. Προτείνεται, στην περίπτωση που επιλεγεί η υλοποίηση εναλλακτικών κριτηρίων ταξινόμησης, να δηλωθεί και το στατικό κριτήριο ταξινόμησης ως ένα από αυτά.

Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες των εναλλακτικών κριτηρίων ταξινόμησης ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Caption Το λεκτικό που εμφανίζεται ως τίτλος του κριτηρίου.
ESCaptionID Αφορά αποκλειστικά στη διαδικασία μετάφρασης του προϊόντος (Translation key).
Expression Τα πεδία – φορά ταξινόμησης της λίστας εγγραφών.
Default Το κριτήριο στο οποίο δηλώνεται η τιμή True, αποτελεί το προτεινόμενο κριτήριο ταξινόμησης της λίστας εγγραφών. Η δήλωση αυτή υπερισχύει πιθανής δήλωσης στην ιδιότητα OrderBy της εντολής.

MOB-ImplementationGuide-5 2-image10.pngedit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να επεκτείνουμε την ListForm οθόνη μας έτσι ώστε, πέρα από την ταξινόμηση βάσει της κολόνας «Επωνυμία» προσώπου, να υπάρχει και η δυνατότητα αύξουσας ή φθίνουσας ταξινόμησης βάσει της κολόνας «ABC κλάση» πελάτη διατηρώντας όμως ως προτεινόμενο κριτήριο αυτό της Επωνυμίας προσώπου.

MOB-ImplementationGuide-5 2-image11.pngΑναζήτηση

Παράδειγμα SampleSearchPanel

Η δήλωση των εναλλακτικών κριτηρίων αναζήτησης εγγραφών μιας λίστας γίνεται στο αρχείο της εντολής και μέσω κατάλληλης ρύθμισης της ιδιότητας SearchPanelFilter ή της ιδιότητας SearchPanelID.

Ο τρόπος ορισμού και τα χαρακτηριστικά ενός κριτηρίου αναζήτησης διαφοροποιούνται ανάλογα με τον τύπο της κολόνας στην οποία θα εφαρμοστεί το κριτήριο. Οι διαθέσιμοι τύποι κριτηρίων είναι: ColumnNames, FieldChooser, DateField, DropDown, Autocomplete & Boolean. Σημειώνουμε εδώ ότι, στο κάτω-δεξιά μέρος της οθόνης εναλλακτικών κριτηρίων προστίθεται αυτόματα το πλήκτρο «Αφαίρεση φίλτρων». Πατώντας το πλήκτρο αυτό γίνεται άμεση επαναφορά του περιεχομένου των επιμέρους κριτηρίων αναζήτησης στην αρχική τους τιμή.

ColumnNames

Αναφέρεται σε κολόνα τύπου string και είναι πληκτρολογούμενο. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες του κριτηρίου ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Id Ο α/α του κριτηρίου ο οποίος θα πρέπει να είναι μοναδικός.
minimumInput Το πλήθος χαρακτήρων που θέλουμε να έχει δηλωθεί προκειμένου να προκληθεί άμεση ανανέωση της λίστας εγγραφών. Διατηρώντας την ιδιότητα αυτή κενή, για την ανανέωση της λίστας εγγραφών χρειάζεται και πάτημα του πλήκτρου Shape Description automatically generated with low confidence-Αναζήτηση.
title Το λεκτικό που εμφανίζεται ως τίτλος του κριτηρίου.
column

H κολόνα της εντολής πάνω στην οποία θέλουμε τα εφαρμοστεί το κριτήριο. Δίνεται η δυνατότητα χρήσης του χαρακτήρα * ο οποίος υποδηλώνει ανά περίπτωση τα εξής:

  • xxx*, αρχίζει από
  • *xxx*, περιέχει
  • *xxx, τελειώνει σε
default Η προτεινόμενη τιμή του κριτηρίου.
keyboard Ειδικά σε περίπτωση που θέλουμε να εμφανίζεται το αλφαριθμητικό πληκτρολόγιο εστιασμένο στους αριθμούς, δηλώνουμε την τιμή num. Αφορά μόνο σε iOS πλατφόρμα
soundex

Ειδικά για τα πεδία επωνυμία-διεύθυνση προσώπου και κωδικός-περιγραφή είδους & είδους καταλόγου, δίνεται η δυνατότητα το αποτέλεσμα της αναζήτησης να είναι το ίδιο ανεξάρτητα του αν στο κριτήριο θα πληκτρολογηθούν κεφαλαίοι-πεζοί ή ελληνικοί-λατινικοί χαρακτήρες. Για την ενεργοποίηση της δυνατότητας αυτής θα πρέπει:

  • στην ιδιότητα column να δηλωθεί η κολόνα που έχει υποστεί την Soundex μετατροπή
  • στην ιδιότητα soundex να δηλωθεί η τιμή SoundexEQUC

και στην ιδιότητα SoundexMappingsID της ListForm εντολής να δηλωθεί η τιμή SoundexConversion

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε ένα κριτήριο αναζήτησης των εγγραφών μιας λίστας βάσει της κολόνας «Επωνυμία» προσώπου.

MOB-ImplementationGuide-5 2-image11.pngMOB-ImplementationGuide-5 2-image13.png

FieldChooser

Αναφέρεται σε κολόνα τύπου string και είναι πληκτρολογούμενο. Χρησιμοποιείται για τη συγκέντρωση πολλαπλών κριτηρίων τύπου ColumnNames σε ένα κριτήριο. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες του κριτηρίου ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Id Ο α/α του κριτηρίου ο οποίος θα πρέπει να είναι μοναδικός.
minimumInput Ισχύουν τα ίδια με αυτά που περιγράφονται στο κριτήριο ColumnNames. Η ιδιότητα αφορά σε όλα τα επιμέρους κριτήρια.
title Το λεκτικό που εμφανίζεται ως τίτλος του κριτηρίου.
column Ισχύουν τα ίδια με αυτά που περιγράφονται στο κριτήριο ColumnNames.
soundex Ισχύουν τα ίδια με αυτά που περιγράφονται στο κριτήριο ColumnNames.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε ένα κριτήριο αναζήτησης των εγγραφών μιας λίστας επιλέγοντας μια από τις κολόνες «Διεύθυνση» ή «Τηλέφωνο» προσώπου.
MOB-ImplementationGuide-5 2-image11.pngMOB-ImplementationGuide-5 2-image14.pngMOB-ImplementationGuide-5 2-image15.png

DateField

Αναφέρεται σε κολόνα τύπου date δίνοντας τη δυνατότητα επιλογής χρονικού διαστήματος. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες του κριτηρίου ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
id Ο α/α του κριτηρίου ο οποίος θα πρέπει να είναι μοναδικός.
title Το λεκτικό που εμφανίζεται ως τίτλος του κριτηρίου.
column H κολόνα της εντολής πάνω στην οποία θέλουμε τα εφαρμοστεί το κριτήριο.
defaultselection Η προτεινόμενη τιμή του κριτηρίου. Οι διαθέσιμες επιλογές είναι:
  • 3-Σήμερα
  • 4-Εχθές
  • 5-Αύριο
  • 6-Τρέχουσα εβδομάδα
  • 7-Προηγούμενη εβδομάδα
  • 8-Επόμενη εβδομάδα

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε ένα κριτήριο αναζήτησης των εγγραφών μιας λίστας βάσει της κολόνας «Ημερομηνία έναρξης» εργασίας. Το κριτήριο να έχει ως προτεινόμενη τιμή το 3-Σήμερα.
MOB-ImplementationGuide-5 2-image11.pngMOB-ImplementationGuide-5 2-image18.pngMOB-ImplementationGuide-5 2-image19.png

Boolean

Αναφέρεται σε κολόνα τύπου integer που αποδίδεται πάντα ως δυο τιμές (True / False). Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες του κριτηρίου ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
id Ο α/α του κριτηρίου ο οποίος θα πρέπει να είναι μοναδικός.
title Το λεκτικό που εμφανίζεται ως τίτλος του κριτηρίου.
column H κολόνα της εντολής πάνω στην οποία θέλουμε τα εφαρμοστεί το κριτήριο. Σημειώνουμε εδώ ότι, αν η κολόνα στην οποία θέλουμε να εφαρμοστεί το κριτήριο δεν είναι από τη φύση της τύπου integer, απαιτείται η ανάλογη μετατροπή της σε τύπου integer.
truetext Το λεκτικό που εμφανίζεται όταν πληρείται η συνθήκη του κριτηρίου.
truevalue Η τιμή της κολόνας όταν πληρείται η συνθήκη του κριτηρίου.
falsetext Το λεκτικό που εμφανίζεται όταν δεν πληρείται η συνθήκη του κριτηρίου.
falsevalue Η τιμή της κολόνας όταν δεν πληρείται η συνθήκη του κριτηρίου.
nonetext Το λεκτικό που εμφανίζεται σε περίπτωση μη επιλογής συγκεκριμένης τιμής.
defaultvalue Η προτεινόμενη τιμή του κριτηρίου.

edit Παράδειγμα-1

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε ένα κριτήριο αναζήτησης των εγγραφών μιας λίστας βάσει της κολόνας «Τύπος προσώπου». Το κριτήριο να μας δίνει τη δυνατότητα εναλλαγής μεταξύ Νομικού & Φυσικού προσώπου και να έχει ως προτεινόμενη τιμή το 0-Νομικό πρόσωπο.

MOB-ImplementationGuide-5 2-image11.pngMOB-ImplementationGuide-5 2-image25.png

edit Παράδειγμα-2

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε ένα κριτήριο αναζήτησης των εγγραφών μιας λίστας βάσει της κολόνας «Σχετική εκστρατεία» εργασίας. Το κριτήριο να μας δίνει τη δυνατότητα εναλλαγής μεταξύ των εργασιών εντός & εκτός εκστρατείας και να μη έχει κάποια προτεινόμενη τιμή. Δεδομένου του ότι η κολόνα σχετική εκστρατεία είναι τύπου GID, θα πρέπει να γίνει χρήση της κολόνας ViaCampaign η οποία έχει τον παρακάτω ορισμό

cast (

case when t.fCampaignGID is null then 0 else 1 end as Int

) ViaCampaign

DropDown

Αναφέρεται σε κολόνα τύπου string δίνοντας τη δυνατότητα επιλογής από λίστα τιμών. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες του κριτηρίου ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
id Ο α/α του κριτηρίου ο οποίος θα πρέπει να είναι μοναδικός.
title Το λεκτικό που εμφανίζεται ως τίτλος του κριτηρίου.
column H κολόνα της εντολής πάνω στην οποία θέλουμε τα εφαρμοστεί το κριτήριο.
default Το λεκτικό που εμφανίζεται σε περίπτωση μη επιλογής συγκεκριμένης τιμής της λίστας.
query

Το select query που καθορίζει τα δεδομένα προς εμφάνιση στη λίστα επιλογής τιμών. Η σύνταξη θα πρέπει να είναι της μορφής:

<query>select ValueMember, DisplayMember1, DisplayMemder2 from...</query> όπου

  • ValueMember, η τιμή βάσει της οποίας θα γίνει το φιλτράρισμα των εγγραφών.
  • DisplayMember1 & DisplayMember2, οι κολόνες που θα εμφανιστούν στο DropDown κριτήριο. Η δήλωση τους είναι προαιρετική.
selectedvalue

Η προτεινόμενη τιμή του κριτηρίου. Μπορεί να οριστεί μια σταθερή τιμή ή εναλλακτικά να γίνει χρήση ενός select query. Στην περίπτωση αυτή η σύνταξη θα πρέπει να είναι της μορφής:

<selectedvalue>query: select ValueMember from...</selectedvalue>

binding

Περιορισμός της λίστας τιμών ενός κριτηρίου βάσει της τιμής που έχει επιλεχθεί σε άλλο κριτήριο. Η σύνταξη θα πρέπει να είναι της μορφής:

<binding bindelement="" filter=""/> όπου

  • bindelement, το id του κριτηρίου βάσει του οποίου θα γίνει ο περιορισμός της λίστας τιμών
  • filter, η κολόνα βάσει της οποίας θα γίνει ο περιορισμός της λίστας τιμών

edit Παράδειγμα-1

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε ένα κριτήριο αναζήτησης των εγγραφών μιας λίστας βάσει της κολόνας «ABC κλάση» πελάτη. Το κριτήριο να εμφανίζει λίστα επιλογής και να έχει ως προτεινόμενη τιμή την κατηγορία B.
MOB-ImplementationGuide-5 2-image11.pngMOB-ImplementationGuide-5 2-image26.pngMOB-ImplementationGuide-5 2-image28.png

edit Παράδειγμα-2

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε ένα κριτήριο αναζήτησης των εγγραφών μιας λίστας βάσει της κολόνας «Τύπος εργασίας». Το κριτήριο να εμφανίζει λίστα επιλογής και να έχει ως προτεινόμενη τιμή τον τύπο εργασίας ES.SAP.

edit Παράδειγμα-3

MOB-ImplementationGuide-5 2-image11.pngMOB-ImplementationGuide-5 2-image29.pngMOB-ImplementationGuide-5 2-image32.pngΈστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε ένα κριτήριο αναζήτησης των εγγραφών μιας λίστας με βάση τις κολόνες «Περιοχή» & «Ταχ.κώδικας» διεύθυνσης προσώπου. Τα κριτήρια να εμφανίζουν λίστα επιλογής και να υπάρχει η δυνατότητα περιορισμού της λίστας τιμών του κριτηρίου Ταχ.κώδικας βάσει της τιμής που έχει επιλεχθεί στο κριτήριο Περιοχή.

Autocomplete

Αναφέρεται σε κολόνα τύπου string δίνοντας τη δυνατότητα αφενός της ανεύρεσης τιμής μέσω πληκτρολόγησης και αφετέρου της πολλαπλής επιλογής τιμών. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες του κριτηρίου ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
id Ο α/α του κριτηρίου ο οποίος θα πρέπει να είναι μοναδικός.
title Το λεκτικό που εμφανίζεται ως τίτλος του κριτηρίου.
column H κολόνα της εντολής πάνω στην οποία θέλουμε τα εφαρμοστεί το κριτήριο.
query

Το select query που καθορίζει τα δεδομένα προς εμφάνιση στη λίστα επιλογής τιμών. Η σύνταξη θα πρέπει να είναι της μορφής:

<query>select ValueMember from...</query> όπου

ValueMember, η τιμή βάσει της οποίας θα γίνει το φιλτράρισμα των εγγραφών.

binding Ισχύουν τα ίδια με αυτά που περιγράφονται στο κριτήριο DropDown.
multiselect Πολλαπλή επιλογή τιμών (true) ή όχι (false).

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε ένα κριτήριο αναζήτησης των εγγραφών μιας λίστας βάσει της κολόνας «Τύπος εργασίας». Το κριτήριο να εμφανίζει λίστα επιλογής και να έχει τη δυνατότητα πολλαπλής επιλογής τιμών.

MOB-ImplementationGuide-5 2-image11.pngMOB-ImplementationGuide-5 2-image35.png

Μορφή εμφάνισης / Λίστα

Παράδειγμα SampleListForm

Ο ορισμός των στοιχείων εμφάνισης της ListForm οθόνης υπό μορφή λίστας γίνεται μέσω ανάλογης ρύθμισης των επιμέρους ιδιοτήτων του AdvancedList αρχείου της φόρμας. Σημειώνουμε εδώ ότι, η ListForm οθόνη απαρτίζεται από δυο βασικές περιοχές (RowTemplates), την περιοχή δεδομένων (Normal RowTemplate) και την περιοχή τίτλων (Header RowTemplate) όπου οι προδιαγραφές σχεδίασης ανά περιοχή είναι διαφορετικές.

Στη συνέχεια της ενότητας αυτής, χρησιμοποιώντας συγκεκριμένο παράδειγμα, θα δώσουμε αναλυτικές οδηγίες σχεδίασης των περιοχών της ListForm οθόνης.

MOB-ImplementationGuide-5 2-image36.png

Περιοχή δεδομένων

Ο ορισμός της περιοχής δεδομένων (Normal RowTemplate) είναι υποχρεωτικός και αφορά πάντα στο πρώτο RowTemplate του AdvancedList αρχείου της φόρμας. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες σε επίπεδο περιοχής (RowTemplate) και σε επίπεδο στοιχείου (Cell) ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
RowTemplate
Height Το ύψος της περιοχής.
Cell-Required
Type Η ListForm οθόνη στην απλή της μορφή υποστηρίζει μόνο στοιχεία τύπου TextCell.
Bounds Η θέση εμφάνισης του στοιχείου. Τα 4 μεγέθη της ιδιότητας αυτής καθορίζουν αντίστοιχα τα x, y, width, height θεωρώντας ως μέγιστο πλάτος οθόνης το 240.
CellSource Η κολόνα της εντολής που αντιστοιχεί στο στοιχείο.
Cell-Optional
Name Ένα όνομα για πληροφοριακούς λόγους.
Visible Εμφάνιση (true) ή απόκρυψη (false) του στοιχείου.
Alignment Η στοίχιση του περιεχομένου του στοιχείου με διαθέσιμες τιμές: Left, Right & Center.
FontSize Το μέγεθος της γραμματοσειράς.
FontStyle Το στυλ της γραμματοσειράς με διαθέσιμες τιμές: Regular, Bold & Italic.
ForeColor Το χρώμα της γραμματοσειράς με διαθέσιμες τιμές: Black, Blue, Brown, Cyan, Gray, Darkgray, Green, Lightgray, Magenta, Orange, Purple, Red, White & Yellow.
BackColor Το χρώμα του φόντου με διαθέσιμες τιμές: Black, Blue, Brown, Gray, Green, Orange, Red, White & Yellow.
FormatString Η μορφή εμφάνισης αριθμητικού στοιχείου. Κάποιες κλασικές επιλογές είναι:
Ορισμός Αποτέλεσμα
{0:G} 16325,62
{0:C} 16.325,62 €
{0:N} ή {0:#,#.00} 16.325,62
{0:P} ή {0:0.00\%} 163,26 %
{0:#,0} 16326

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια ListForm οθόνη η οποία να εμφανίζει στην περιοχή δεδομένων τα στοιχεία: Επωνυμία, Διεύθυνση, Τηλέφωνο & ABC κλάση πελάτη. Έστω επίσης ότι θέλουμε να διαφοροποιήσουμε τη μορφή εμφάνισης του στοιχείου Επωνυμία σε σχέση με αυτή των υπόλοιπων στοιχείων.

information Σημείωση

  • Ειδικά σε iOS πλατφόρμα και για τη σωστή λειτουργία της ListForm οθόνης θα πρέπει στο AdvancedList αρχείο της φόρμας να υπάρχει η ιδιότητα SelectedTemplateIndex. Στην ιδιότητα αυτή θα πρέπει να δηλωθεί ο α/α του Normal RowTemplate, δηλαδή ο α/α 0.

  • Ειδικά σε iOS πλατφόρμα, παρέχεται η δυνατότητα διαφοροποίησης των στοιχείων και της μορφής εμφάνισης μεταξύ κανονικής (Normal) και επιλεγμένης (Selected) εγγραφής. Οι ρυθμίσεις που απαιτούνται για την αξιοποίηση της δυνατότητας αυτής είναι:

    • Ορισμός δεύτερου RowTemplate (Selected RowTemplate) στο AdvancedList αρχείο της φόρμας. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για το Normal RowTemplate.

    • Δήλωση του α/α του Selected RowTemplate στην ιδιότητα SelectedTemplateIndex.

Περιοχή τίτλων

Ο ορισμός της περιοχής τίτλων (Header RowTemplate) είναι προαιρετικός και γίνεται δηλώνοντας τον α/α του RowTemplate στην ιδιότητα TemplateIndex του section HeaderRow και θέτοντας στην ιδιότητα ShowHeader την τιμή true. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες σε επίπεδο περιοχής (RowTemplate) και σε επίπεδο στοιχείου (Cell) της περιοχής ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
RowTemplate
Height Το ύψος της περιοχής.
BackColor Η δήλωση γίνεται με χρήση του RGB κωδικού χρώματος και θα πρέπει να είναι της μορφής #0,0,0. Αφορά μόνο σε UWP & Android πλατφόρμα.
Cell-Required
Type To Header RowTemplate υποστηρίζει μόνο στοιχεία τύπου TextCell.
Bounds Η θέση εμφάνισης του στοιχείου. Τα 4 μεγέθη της ιδιότητας αυτής καθορίζουν αντίστοιχα τα x, y, width, height θεωρώντας ως μέγιστο πλάτος οθόνης το 240.
CellSource Το λεκτικό που εμφανίζεται ως τίτλος. Η δήλωση θα πρέπει να είναι της μορφής "&quot;Title&quot;" όπου το λεκτικό quot; υποδηλώνει τον χαρακτήρα των εισαγωγικών.
Name Αφορά αποκλειστικά στη διαδικασία μετάφρασης του προϊόντος (Translation key).
Cell-Optional
Visible Εμφάνιση (true) ή απόκρυψη (false) του στοιχείου.
Alignment Η στοίχιση του περιεχομένου του στοιχείου με διαθέσιμες τιμές: Left, Right & Center.
FontSize Το μέγεθος της γραμματοσειράς
FontStyle Το στυλ της γραμματοσειράς με διαθέσιμες τιμές: Regular, Bold & Italic.
ForeColor Το χρώμα της γραμματοσειράς με διαθέσιμες τιμές: Black, Blue, Brown, Cyan, Gray, Darkgray, Green, Lightgray, Magenta, Orange, Purple, Red, White & Yellow.
BackColor Το χρώμα του φόντου με διαθέσιμες τιμές: Black, Blue, Brown, Gray, Green, Orange, Red, White & Yellow.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε η ListForm οθόνη του παραδείγματός μας να εμφανίζει και την περιοχή τίτλων.

Μορφή εμφάνισης / Γράφημα

Παράδειγμα SampleListFormChart

Όπως αναφέρθηκε και παραπάνω, προσθέτοντας στη ListForm οθόνη ως «προσάρτημα» ένα αρχείο τύπου ChartParams.xml ενεργοποιείται και η δυνατότητα εμφάνισης των δεδομένων μιας λίστας υπό μορφή γραφήματος. Οι διαθέσιμοι τύποι γραφήματος είναι: Column, Bar, Pie, HalfPie & Doughnut.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια ListForm οθόνη η οποία εμφανίζει τους top 10 βάσει τζίρου πελάτες μας. Έστω επίσης ότι θέλουμε να τους εμφανίζει υπό μορφή λίστας αλλά και υπό μορφή γραφήματος τύπου Bar.

Για την κάλυψη της ανάγκης του παραδείγματος μας απαιτείται η προσθήκη αρχείου τύπου ChartParams.xml στο φάκελο που βρίσκεται και το AdvancedList αρχείο της φόρμας, για το παράδειγμα μας δηλαδή στο φάκελο SampleListFormChart.

MOB-ImplementationGuide-5 2-image38.png

Dashboard οθόνη

Παράδειγμα SampleDashboardForm

Όπως αναφέρθηκε και παραπάνω, η Dashboard οθόνη αποτελεί ένα «προσάρτημα» της ListForm οθόνης μέσω του οποίου δίνεται η δυνατότητα, εστιάζοντας επί εγγραφής της λίστας, τόσο για την επαύξηση της πληροφορίας που εμφανίζει η ListForm οθόνη όσο και για τη άμεση εκτέλεση μιας σειράς ενεργειών. Στη συνέχεια της ενότητας αυτής, χρησιμοποιώντας συγκεκριμένο παράδειγμα, θα δώσουμε αναλυτικές οδηγίες υλοποίησης της Dashboard οθόνης.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια ListForm οθόνη η οποία, πέρα από το να εμφανίζει τις διευθύνσεις πελατών υπό μορφή λίστας, να δίνει και άμεση πρόσβαση στα επιπλέον στοιχεία του πελάτη: ΑΦΜ, Επάγγελμα, Οικογένεια, βασικά στοιχεία Επικοινωνίας & βασικά Οικονομικά στοιχεία.

Για την κάλυψη της ανάγκης του παραδείγματος μας απαιτείται η προσθήκη αρχείου τύπου ExtraLayoutParams.xml στο φάκελο που βρίσκεται και το AdvancedList αρχείο της φόρμας, για το παράδειγμα μας δηλαδή στο φάκελο SampleDashboardForm.

Λίστα εγγραφών

Η μορφή εμφάνισης της λίστας εγγραφών ακολουθεί ένα προκαθορισμένο πρότυπο που αποτελείται από 1 στήλη εικόνας και 2 στήλες-γραμμές δεδομένων. Επομένως, η μορφή εμφάνισης της λίστας εγγραφών «επαναπροσδιορίζεται» και αυτό γίνεται μέσω των παρακάτω ιδιοτήτων του ExtraLayoutParams αρχείου της φόρμας.

Ιδιότητα Σχόλιο
imagecolumn Η κολόνα της εντολής που αντιστοιχεί στο όνομα αρχείου εικόνας.
imagefolder Ο φάκελος στον οποίο βρίσκεται το αρχείο εικόνας.
title Η κολόνα της εντολής που αντιστοιχεί στο στοιχείο Στήλη-1 & Γραμμή-1. Το στοιχείο αυτό εμφανίζεται Bold.
formtitle Η κολόνα της εντολής που αντιστοιχεί στον τίτλο της Dashboard οθόνης. Σημειώνουμε εδώ ότι αν ιδιότητα αυτή είναι κενή ή δεν υπάρχει, για τον τίτλο της Dashboard οθόνης χρησιμοποιείται η ιδιότητα title.
titlewidth Το πλάτος του στοιχείου title (%).
subtitle Η κολόνα της εντολής που αντιστοιχεί στο στοιχείο Στήλη-1 & Γραμμή-2.
subtitlewidth Το πλάτος του στοιχείου subtitle (%).
info1 Η κολόνα της εντολής που αντιστοιχεί στο στοιχείο Στήλη-2 & Γραμμή-1.
info1width Το πλάτος του στοιχείου info1 (%).
Info2 Η κολόνα της εντολής που αντιστοιχεί στο στοιχείο Στήλη-2 & Γραμμή-2.
Info2width Το πλάτος του στοιχείου info2 (%).

MOB-ImplementationGuide-5 2-image40.pngMOB-ImplementationGuide-5 2-image41.png

Κύρια περιοχή

Ο ορισμός των επιπλέον στοιχείων που απαιτεί το παράδειγμα μας γίνεται στο section extraparams του ExtraLayoutParams αρχείου της φόρμας. Για την εργονομική απεικόνιση των στοιχείων, δίνεται και η δυνατότητα ορισμού πολλαπλών extraparams sections. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες της περιοχής ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Περιοχή
title Το λεκτικό που εμφανίζεται ως τίτλος της περιοχής.
id Ο α/α της περιοχής ο οποίος θα πρέπει να είναι μοναδικός.
Στοιχείο
name Η κολόνα της εντολής που αντιστοιχεί στο στοιχείο.
caption Το λεκτικό που εμφανίζεται ως λεζάντα του στοιχείου.
type Ο τύπος του στοιχείου. Οι τιμές email, facebook, location, mobile, skype, telephone, twitter & web προσδίδουν αυτόματα στο στοιχείο και την αντίστοιχη λειτουργικότητα (π.χ. ορίζοντας σε ένα στοιχείο το type location, πατώντας επί αυτού γίνεται μετάβαση στο χάρτη).

MOB-ImplementationGuide-5 2-image44.png

Λοιπές περιοχές

Οι λοιπές περιοχές που απαρτίζουν μια Dashboard οθόνη είναι οι σελίδες-τμήματα αυτής και τα μενού πλήκτρα της. Τα στοιχεία που εμφανίζονται στις περιοχές αυτές έχουν ως προαπαιτούμενο τον ορισμό του ανάλογου ανά περίπτωση πλήκτρου ενεργειών.

Πλήκτρα ενεργειών (ButtonCell)

Τα πλήκτρα ενεργειών αναφέρονται πάντα σε κάποια προς εκτέλεση εντολή (command). Ο ορισμός των πλήκτρων ενεργειών γίνεται στο AdvancedList αρχείο της φόρμας και μέσω χρήσης στοιχείου τύπου ButtonCell. Ο ορισμός στοιχείων αυτού του τύπου γίνεται στο RowTemplate της περιοχής δεδομένων.

information Σημείωση

Ειδικά στην iOS πλατφόρμα, ο ορισμός στοιχείων τύπου ButtonCell θα πρέπει υποχρεωτικά να γίνει στο RowTemplate που αφορά στην επιλεγμένη εγγραφή, δηλαδή το RowTemplate που έχει δηλωθεί στην ιδιότητα SelectedTemplateIndex.

Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες στοιχείου τύπου ButtonCell ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Required
Type Θα πρέπει το στοιχείο να είναι τύπου ButtonCell.
Text Το λεκτικό που εμφανίζεται ως τίτλος του πλήκτρου.
CellSource Η κολόνα του select query της ListForm οθόνης με την οποία «τροφοδοτείται» η μεταβλητή [CURRENT] ή [PARENT] της εντολής στην οποία αναφέρεται το πλήκτρο.
Name Η εντολή και οι «προδιαγραφές» εκτέλεσης της. Η απαιτούμενη ρύθμιση της ιδιότητας διαφοροποιείται σημαντικά ανάλογα με τον τύπο εντολής (prefix) του πλήκτρου.
  • Πλήκτρο για εντολή τύπου προβολή εγγραφής ή λίστας εγγραφών

Edit#Command συνδυάζεται με τη μεταβλητή [CURRENT]

  • Πλήκτρο για εντολή τύπου εισαγωγή νέας εγγραφής

New#Command συνδυάζεται με τη μεταβλητή [PARENT]

Σημειώνουμε εδώ ότι, σε ειδικές περιπτώσεις που υπάρχει ανάγκη τροφοδότησης δεύτερης μεταβλητής, συνδυάζεται και με την μεταβλητή [CURRENT]. Η κολόνα τροφοδότησης της μεταβλητής [CURRENT] δηλώνεται ως suffix του πλήκτρου.

edit Για πλήκτρο καταχώρισης νέας μέτρησης βάσει πλάνου (PARENT=CellSource) επί επιλεγμένου σημείου πώλησης (CURRENT=suffix)
  • Πλήκτρο για εντολή τύπου εισαγωγή νέου παραστατικού

Doc#Command#DocType συνδυάζεται με τη μεταβλητή [PARENT] και η δήλωση του τύπου παραστατικού ως suffix είναι υποχρεωτική.

edit Για πλήκτρο καταχώρισης νέας παραγγελίας (suffix=1) επί επιλεγμένης εργασίας (PARENT=CellSource)
  • Πλήκτρο για εναλλαγή εντολής βάσει συνθήκης

CASE#Column#Value1#Command1#Column#Value2#Command2 συνδυάζεται με τη μεταβλητή [CURRENT]. Σημειώνουμε εδώ ότι, το Column θα πρέπει πάντα να αναφέρεται σε κάποια κολόνα του select query της ListForm οθόνης.

edit Για πλήκτρο όπου η προς εμφάνιση οθόνη διαφοροποιείται ανάλογα με τον τύπο της επιλεγμένης εργασίας (CURRENT=CellSource)
  • Πλήκτρο για εναλλαγή τύπου εντολής βάσει συνθήκης

ESCASE[#]Column[#]Value1[#]Button1[#]Column[#]Value2[#]Button2 συνδυάζεται δυναμικά, ανάλογα με τον τύπο του πλήκτρου, με τη μεταβλητή [CURRENT] (εντολή τύπου Edit) ή τη μεταβλητή [PARENT] (εντολή τύπου New). Σημειώνουμε εδώ ότι, το Column θα πρέπει πάντα να αναφέρεται σε κάποια κολόνα του select query της ListForm οθόνης.

edit Για εναλλαγή μεταξύ πλήκτρου καταχώρισης νέας συνάντησης επί επιλεγμένου σημείου (PARENT=CellSource) ή πλήκτρου προβολής ήδη υπάρχουσας (CURRENT=CellSource) ανάλογα με την τιμή της κολόνας asTask
Σημειώνουμε εδώ ότι, σε ειδικές περιπτώσεις που υπάρχει ανάγκη τροφοδότησης περισσότερων της μιας μεταβλητών, οι μεταβλητές και οι κολόνες τροφοδότησης τους δηλώνονται ως suffix του πλήκτρου. Στην περίπτωση αυτή η ιδιότητα CellSource θα πρέπει να έχει κενό περιεχόμενο.
edit
DesignName

Οι «προδιαγραφές» εμφάνισης ή απόκρυψης του πλήκτρου. Αποτελείται από τα παρακάτω δύο μέρη:

  • Τις συνθήκες απόκρυψης (Not Applicable) του πλήκτρου. Η σύνταξη είναι της μορφής

[NA]Column1=Value1;Column2=Value2[NA]. Σημειώνουμε εδώ ότι, το Column θα πρέπει πάντα να αναφέρεται σε κάποια κολόνα του select query της ListForm οθόνης.

  • Τις εφαρμογές-πλατφόρμες στις οποίες είναι διαθέσιμο το πλήκτρο. Η σύνταξη είναι της μορφής

#AppIDPlatforfID1#AppIDPlatforfID2 όπου:

Application

Platform
8 Merchandising 2 iOS
22 Field Service 3 Android
322 xVan 4 UWP
1024 Medical Representative 9 UWP & Android
edit Για (α) μη εμφάνιση του πλήκτρου σε πελάτη ABC κλάσης C και (β) εμφάνιση του πλήκτρου σε όλες μεν τις πλατφόρμες αλλά μόνο στην εφαρμογή Merchandising.
<Property Name="DesignName" Value="[NA]ABCClass=C[NA]#82#89" />
Optional
ImageDefault Το εικονίδιο με το οποίο γίνεται ορατό το πλήκτρο. Σημειώνουμε εδώ ότι, στην περίπτωση της Dashboard οθόνης η ιδιότητα είναι ανενεργή και επομένως η δήλωση εικονιδίου είναι περιττή.
Visible Εμφάνιση (true) ή απόκρυψη (false) του πλήκτρου. Δηλώνεται μόνο στην περίπτωση που θέλουμε απόκρυψη του πλήκτρου, για όλες τις εφαρμογές-πλατφόρμες, από τα μενού πλήκτρα της Dashboard οθόνης MOB-ImplementationGuide-5 2-image46.png-Ενέργειες, MOB-ImplementationGuide-5 2-image47.png-Online ή Icon Description automatically generated-Πληροφορίες.

Σελίδες-Τμήματα

Συστήνεται τα στοιχεία τύπου ButtonCell που αφορούν σε επαύξηση πληροφορίας να εντάσσονται στην περιοχή σελίδες-τμήματα της Dashboard οθόνης δηλαδή στο secton Segments του ExtraLayoutParams αρχείου της φόρμας. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες της περιοχής ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Title Το λεκτικό που εμφανίζεται ως τίτλος της σελίδας.
Position Ο α/α της σελίδας ο οποίος θα πρέπει να είναι μοναδικός.
Command Το ButtonCell που αντιστοιχεί στην προς εμφάνιση πληροφορία. Το περιεχόμενο της ιδιότητας αυτής θα πρέπει να ταυτίζεται με το περιεχόμενο της ιδιότητας Name του ButtonCell. Σημειώνουμε εδώ ότι, το ανώτατο πλήθος commands ανά σελίδα είναι τα 4 με εξαίρεση την πρώτη σελίδα (Position 0) όπου είναι τα 3 commands.
IsMainSegment Στην πρώτη σελίδα (Position 0) δηλώνεται η τιμή true ενώ στις υπόλοιπες σελίδες δηλώνεται η τιμή false.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να επεκτείνουμε τη Dashboard οθόνη μας έτσι ώστε να δίνει άμεση πρόσβαση σε σχετιζόμενες με τον πελάτη πληροφορίες της τοπικής βάσης όπως: Επαφές, Εκκρεμείς εργασίες, Ιστορικό Συναντήσεων & Πωλήσεων. Έστω επίσης ότι θέλουμε την εμφάνιση της πληροφορίας αυτής σε διακριτά τμήματα των σελίδων της Dashboard οθόνης.

MOB-ImplementationGuide-5 2-image49.pngMOB-ImplementationGuide-5 2-image50.png

information Σημείωση

Στην περίπτωση που οι ανάγκες σχεδίασης της Dashboard οθόνης είναι αρκετά εξειδικευμένες, ο ορισμός των στοιχείων που αφορούν σε σελίδες-τμήματα μπορεί να γίνει με χρήση του section ESTabs. Σημειώνουμε εδώ ότι, αν επιλεγεί η χρήση του section ESTabs αυτόματα το section Segments καθίσταται μη ενεργό. Οδηγίες ρύθμισης του section ESTabs παρέχονται παρακάτω στην ενότητα Σελίδες-Τμήματα/ ESTabs.

Μενού πλήκτρα

Συστήνεται, τα στοιχεία τύπου ButtonCell που αφορούν σε άμεση εκτέλεση μιας ενέργειας, να εντάσσονται στα προκαθορισμένα πλήκτρα της Dashboard οθόνης. Η διαδικασία ένταξης γίνεται μέσω χρήσης του section newactions του ExtraLayoutParams αρχείου της φόρμας. Η ρύθμιση του section newactions δεν είναι υποχρεωτική, αλλά συστήνεται ανεπιφύλακτα για λόγους διευκόλυνσης του χρήστη κατά την πλοήγηση του μέσα στην Dashboard οθόνη. Τα προκαθορισμένα μενού πλήκτρα της Dashboard οθόνης και οι ρυθμίσεις ένταξης που απαιτούνται ανά περίπτωση είναι:

Πλήκτρο Ρύθμιση Σχόλιο
MOB-ImplementationGuide-5 2-image46.png Ενέργειες Συστήνεται η ένταξη πλήκτρων που αφορούν στην καταχώριση νέας εγγραφής.
MOB-ImplementationGuide-5 2-image47.png Online Συστήνεται η ένταξη πλήκτρων που αφορούν στην εμφάνιση πληροφόρησης σε απευθείας σύνδεση με τα κεντρικά.
MOB-ImplementationGuide-5 2-image53.png Προβολή Συστήνεται η ένταξη του πλήκτρου που αφορά στη μετάβαση στην Data entry οθόνη της τρέχουσας εγγραφής.
MOB-ImplementationGuide-5 2-image54.png Συνημμένα Συστήνεται η ένταξη του πλήκτρου που αφορά στη μετάβαση στην οθόνη διαχείρισης σχετικών εγγράφων.
MOB-ImplementationGuide-5 2-image55.png Dropbox Συστήνεται η ένταξη του πλήκτρου που αφορά στη μετάβαση εφαρμογή Dropbox. Αφορά μόνο σε iOS πλατφόρμα.
Icon Description automatically generated Πληροφορίες Διαμορφώνεται αυτόματα συγκεντρώνοντας, από το AdvancedList αρχείο της φόρμας, όλα τα πλήκτρα που δεν έχουν ενταχθεί σε κάποιο άλλο τμήμα ή πλήκτρο της Dashboard οθόνης. Η σειρά εμφάνισης των πλήκτρων εξαρτάται από τη σειρά με την οποία έχουν αυτά οριστεί στο AdvancedList αρχείο της φόρμας.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να επεκτείνουμε τη Dashboard οθόνη μας έτσι ώστε να καλύπτει και τις παρακάτω ανάγκες:

  • Να δίνει τη δυνατότητα άμεσης κλήσης των ενεργειών καταχώρισης νέας Παραγγελίας & νέας Είσπραξης.

  • Να δίνει τη δυνατότητα εμφάνισης -σε απευθείας σύνδεση με τα κεντρικά- των αναφορών Καρτέλα πελάτη & Ενηλικίωση υπολοίπου πελάτη.

MOB-ImplementationGuide-5 2-image56.pngMOB-ImplementationGuide-5 2-image57.png

Σημειώνουμε εδώ ότι, ειδικά για το μενού πλήκτρο Icon Description automatically generated-Ενέργειες, δίνεται η δυνατότητα ρύθμισης των επιλογών που εμφανίζει έτσι ώστε αρχικά να εμφανίζονται μόνο οι «δημοφιλείς» και, με το πάτημα της επιλογής «…», να εμφανίζεται το σύνολο τους. Για την ενεργοποίηση της δυνατότητας αυτής απαιτούνται οι παρακάτω ρυθμίσεις.

  • Προσθήκη, στο AdvancedList αρχείο της φόρμας, στοιχείου τύπου ButtonCell που στην ιδιότητα Name έχει την τιμή More.

<Cell Type="Resco.Controls.AdvancedList.ButtonCell">

<Property Name="Text" Value="..." />

<Property Name="Name" Value="More" />

<Property Name="DesignName" Value="#82#89" />

</Cell>

  • Προσθήκη στο section newactions του ExtraLayoutParams αρχείου της φόρμα στοιχείου με τον παρακάτω ορισμό και ενεργοποίηση της ιδιότητας subcommand σε όλες τις μη δημοφιλείς επιλογές του πλήκτρου Icon Description automatically generated-Ενέργειες.

<newaction>

<command>xxx</command>

<online>false</online>

<subcommand>true</subcommand>

</newaction>

<newaction>

<command>More</command>

</newaction>

Ιδιαίτερες ρυθμίσεις

Στην ενότητα αυτή θα αναφερθούμε επιγραμματικά αλλά και χρησιμοποιώντας συγκεκριμένο παράδειγμα σε ιδιότητες του ExtraLayoutParams αρχείου της φόρμας μέσω των οποίων παρέχεται η δυνατότητα περαιτέρω ρύθμισης της συμπεριφοράς μιας Dashboard οθόνης.

Ιδιότητα Σχόλιο
onclickcommand Συμπληρώνοντας στην ιδιότητα αυτή ένα πλήκτρο ενεργειών δίνεται η δυνατότητα ώστε, εστιάζοντας επί εγγραφής της λίστας, να παραλείπεται η μετάβαση στην Dashboard οθόνη και να εμφανίζεται άμεσα η οθόνη που αντιστοιχεί στο πλήκτρο. Στην περίπτωση που επιλεγεί χρήση της λειτουργικότητας αυτής, συστήνεται η ένταξη του πλήκτρου ενεργειών που αφορά στη μετάβαση στην Data entry οθόνη της τρέχουσας εγγραφής.
AlertCommand Συμπληρώνοντας στην ιδιότητα αυτή ένα πλήκτρο ενεργειών δίνεται η δυνατότητα, εστιάζοντας επί εγγραφής της λίστας, της υπό συνθήκες εμφάνισης ενημερωτικού μηνύματος. Σημειώνουμε εδώ ότι, ο ορισμός της συνθήκης εμφάνισης και του περιεχόμενου του μηνύματος γίνεται στην ειδικού τύπου εντολή AlertCommand και μέσω χρήσης της ιδιότητας ShowMessage της εντολής. Επισημαίνουμε επίσης ότι, όπως ισχύει για όλα τα πλήκτρα ενεργειών έτσι και για το συγκεκριμένο, απαιτείται και δήλωση του στο AdvancedList αρχείο της ListForm οθόνης. Αφορά μόνο σε iOS πλατφόρμα.
edit Για εμφάνιση μηνύματος κατά την εστίαση επί εγγραφής της λίστας «Ανταγωνιστές»
action1command Συμπληρώνοντας στην ιδιότητα αυτή ένα πλήκτρο ενεργειών, το συγκεκριμένο πλήκτρο προστίθεται αυτόματα στο πάνω-δεξιά μέρος της Dashboard οθόνης υπό μορφή εικονιδίου. Παρέχεται η δυνατότητα ορισμού μέχρι 3 πλήκτρων αυτής της μορφής (ιδιότητες action1command, action2command & action3command). Ένα κλασικό παράδειγμα αξιοποίησης της λειτουργικότητας αυτής είναι η Dashboard οθόνη του Ημερολογίου η οποία εμφανίζει υπό μορφή εικονιδίου τις ενέργειες Έναρξης, Λήξης & Ακύρωσης συνάντησης. Σημειώνουμε εδώ ότι, ο ορισμός του εκάστοτε εικονιδίου γίνεται στο AdvancedList αρχείο της φόρμας και συγκεκριμένα στην ιδιότητα ImageDefault του πλήκτρου ενεργειών.
edit Για το πλήκτρο έναρξης συνάντησης της Dashboard οθόνης του Ημερολογίου
primarykeycolumn

Παρέχεται η δυνατότητα αυτόματης ανανέωσης, κατά την εκτέλεση εντολής τύπου SQLCommand, των δεδομένων που εμφανίζει η Dashboard οθόνη. Για την αξιοποίηση της δυνατότητας αυτής απαιτείται:

  • Δήλωση στην ιδιότητα primarykeycolumn της κολόνας που αποτελεί το μοναδικό κλειδί ταυτοποίησης μιας εγγραφής.
  • Δήλωση στην ιδιότητα primarykeyquerycolumn του πίνακα.πεδίου που αποτελεί το μοναδικό κλειδί ταυτοποίησης μιας εγγραφής. Στην περίπτωση που το μοναδικό κλειδί ταυτοποίησης συντίθεται από περισσότερα του ενός πεδία, θα πρέπει να δηλωθεί η «σύνθεση» τους (π.χ. c.GID || p.GID).

Ιδιαίτερη προσοχή θα πρέπει να δοθεί ώστε, τόσο η κολόνα όσο και ο πίνακας.πεδίο που θα δηλωθούν να συμπεριλαμβάνονται στο select query της ListForm εντολής.

Σημειώνουμε εδώ ότι, για την ενεργοποίηση της λειτουργικότητας αυτόματης ανανέωσης απαιτείται και η δήλωση, στην ιδιότητα RefreshParent της προς εκτέλεση εντολής, της τιμής true.

edit Για ανανέωση της Dashboard οθόνης του Ημερολογίου μετά την εκτέλεση της ενέργειας «Ολοκλήρωση» συνάντησης (command SQLAppComplete)

Advanced λειτουργικότητα

Διαμόρφωση επιλεγμένης εγγραφής MOB-ImplementationGuide-5 2-image1.png

Παράδειγμα SampleListForm

Ειδικά σε iOS πλατφόρμα και σε περίπτωση που για οποιοδήποτε λόγο επιθυμούμε τη μη επέκταση της ListForm οθόνης με το προσάρτημα της Dashboard οθόνης, παρέχεται και η δυνατότητα εμφάνισης στοιχείου τύπου πλήκτρο ενεργειών (ButtonCell) εστιάζοντας απλά επί εγγραφής της λίστας. Για την αξιοποίηση της δυνατότητας αυτής απαιτούνται οι παρακάτω ρυθμίσεις:

  • Δήλωση στοιχείου τύπου ButtonCell στο AdvancedList αρχείο της φόρμας. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες στοιχείου αυτού του τύπου ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην αντίστοιχη ενότητα της Dashboard οθόνης με εξαίρεση το ότι εδώ συστήνεται και η δήλωση, στην ιδιότητα ImageDefault, του εικονιδίου με το οποίο γίνεται ορατό το πλήκτρο.
  • Μη προσθήκη του ExtraLayoutParams.xml αρχείου στο φάκελο της ListForm φόρμας.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να δώσουμε στη ListForm οθόνη μας τη δυνατότητα άμεσης κλήσης της ενέργειας καταχώρισης νέας Παραγγελίας.
Table Description automatically generated

Μαζική ανάθεση τιμής

Παράδειγμα SampleListFormBulkUPD

Δίνεται η δυνατότητα χρήσης οθόνης τύπου ListForm ως εργαλείο μαζικής ανάθεσης τιμής επί του συνόλου των επιλεγμένων εγγραφών μιας λίστας. Για την αξιοποίηση της δυνατότητας αυτής απαιτούνται οι παρακάτω ρυθμίσεις:

  • Διαμόρφωση πλήκτρου. Η διαμόρφωση του πλήκτρου κλήσης της προς εκτέλεση ενέργειας γίνεται μέσω χρήσης της ειδικού τύπου εντολής InvPopCommand. Το ιδιαίτερο χαρακτηριστικό εντολής αυτού του τύπου είναι ότι παρέχει τη δυνατότητα κλήσης ενός update query (ιδιότητα BaseUpdate).
  • Ενεργοποίηση πλήκτρου. Η ενεργοποίηση του πλήκτρου γίνεται δηλώνοντας το InvPopCommand αρχείο στην ιδιότητα RightButtonDefinition της ListForm εντολής. Η σύνταξη της ιδιότητας θα πρέπει να είναι της μορφής [POP]|InvPopCommand. Η συμπλήρωση της ιδιότητας αυτής έχει σαν αποτέλεσμα την επέκταση της ListForm οθόνης με το προκαθορισμένο μενού πλήκτρο IconDescription automatically generated-Ενέργειες. Σημειώνουμε εδώ ότι, για τη σωστή λειτουργία της οθόνης θα πρέπει:
  • Η πρώτη κολόνα του select query της ListForm εντολής να αναφέρεται στο μοναδικό κλειδί ταυτοποίησης μιας εγγραφής της λίστας.

  • Στο φάκελο της ListForm φόρμας να υπάρχει το αρχείο ExtraLayoutParams.xml.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια ListForm οθόνη μέσω της οποίας να δίνεται η δυνατότητα μαζικής ενημέρωσης του πεδίου «Χαρακτηρισμός-1» της διεύθυνσης. Έστω επίσης ότι η ενέργεια της μαζικής ενημέρωσης έχει υλοποιηθεί μέσω της εντολής SampleListFormBulkUPDAction.

Graphical user interface, application Description automatically generated

Σελίδες-Τμήματα / ESTabs

Παράδειγμα SampleESTabs

Όπως αναφέρθηκε και παραπάνω, ο ορισμός των στοιχείων που αφορούν στις σελίδες-τμήματα μιας Dashboard οθόνης (section Segments του ExtraLayoutParams αρχείου) υπόκειται σε συγκεκριμένους περιορισμούς ως προς το πλήθος-μέγεθος και τη θέση εμφάνισης των τμημάτων ανά σελίδα. Για την περίπτωση που επιθυμούμε τη σχεδίαση μιας Dashboard οθόνης με υπέρβαση των περιορισμών αυτών, δίνεται η δυνατότητα ορισμού των σελίδων-τμημάτων στο section ESTabs του ExtraLayoutParams αρχείου. Παράλληλα, μέσω χρήσης του section ESTabs, παρέχεται και η δυνατότητα εμφάνισης των δεδομένων υπό μορφή γραφήματος ή υπό μορφή ποσοστιαίου δείκτη.

Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες της περιοχής σε επίπεδο σελίδας (ESTab) και σε επίπεδο τμήματος (ESTabItem) ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
ESTab
Caption Το λεκτικό που εμφανίζεται ως τίτλος της σελίδας.
ESCaptionID Αφορά αποκλειστικά στη διαδικασία μετάφρασης του προϊόντος (Translation key).
RowDefinitions Το πλήθος γραμμών της σελίδας. Στη φάση αυτή η ιδιότητα Height είναι ανενεργή.
ColumnDefinitions Το πλήθος στηλών της σελίδας. Στη φάση αυτή η ιδιότητα Widthείναι ανενεργή.
ESTabItem
Command Το ButtonCell που αντιστοιχεί στην προς εμφάνιση πληροφορία. Το περιεχόμενο της ιδιότητας αυτής θα πρέπει να ταυτίζεται με το περιεχόμενο της ιδιότητας Name του ButtonCell.
Row, Column, RowSpan, ColumnSpan Τα 4 αυτά μεγέθη καθορίζουν αντίστοιχα τα θέση-ύψος-πλάτος του τμήματος.
IsMain Στη σελίδα που εμπεριέχει την κύρια περιοχή της Dashboard οθόνης δηλώνεται η τιμή true ενώ στις υπόλοιπες σελίδες δηλώνεται η τιμή false.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια Dashboard οθόνη επί της λίστας Σημεία πώλησης όπου η σελίδα «Γενικά» να έχει την μορφή που δείχνει η εικόνα, δηλαδή να έχει 4 μη ισομεγέθη τμήματα όπου σε ένα από αυτά να τοποθετηθεί στοιχείο τύπου Γράφημα.

MOB-ImplementationGuide-5 2-image62.png

Οθόνη φωτο-κατάλογος (SFListForm) Icon Description automatically generated Icon Description automatically generated

Παράδειγμα SampleSFListForm

Η οθόνη φωτο-κατάλογος (SFListForm) χρησιμοποιείται συνήθως για την εμφάνιση δεδομένων υπό μορφή εικόνας δίνοντας ταυτόχρονα, εστιάζοντας επί εγγραφής, και τις παρακάτω δυνατότητες:

  • Μετάβαση σε άλλη οθόνη για άντληση επιπλέον πληροφόρησης.

  • Άμεση εκτέλεση μιας σειράς ενεργειών.

Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου SFListForm είναι:

Στοιχείο Σχόλιο
Εντολή Απαιτείται η χρήση εντολής τύπου SFListCreatorCommand.: Όσον αφορά στα στοιχεία που ορίζονται σε επίπεδο εντολής (δεδομένα, ταξινόμηση & αναζήτηση) ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για οθόνη τύπου ListForm.
Φόρμα Για την υλοποίηση της μορφής εμφάνισης της οθόνης απαιτείται η χρήση αρχείου τύπου AdvancedList.xml. Όσον αφορά στον τρόπο ορισμού των στοιχείων εμφάνισης της περιοχής δεδομένων και της περιοχής τίτλων ισχύουν σε γενικές γραμμές τα ίδια με αυτά που περιγράφονται για οθόνη τύπου ListForm. Στην ενότητα αυτή θα αναφερθούμε επιγραμματικά αλλά και χρησιμοποιώντας συγκεκριμένο παράδειγμα, τόσο στα σημεία εκείνα που διαφοροποιούνται όσο και σε εκείνα που αποτελούν ιδιαίτερα χαρακτηριστικά οθόνης τύπου SFListForm.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια οθόνη η οποία να εμφανίζει το πελατολόγιο μας αλλά, αντί να το εμφανίζει υπό μορφή λίστας, να το εμφανίζει υπό μορφή φωτο-κατάλογου χρησιμοποιώντας ως εικόνα το λογότυπο της επιχείρησης. Έστω επίσης ότι θέλουμε, εκτός του λογότυπου, να εμφανίζει και τα στοιχεία επωνυμία πελάτη & διεύθυνση-τηλέφωνο έδρας της επιχείρησης.

MOB-ImplementationGuide-5 2-image64.png

Μορφή εμφάνισης / Ιδιαίτερες ρυθμίσεις

Περιοχή δεδομένων

Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες της περιοχής δεδομένων (Normal RowTemplate), σε συνδυασμό με αυτά που ισχύουν για τη ListForm οθόνη, ισχύουν και τα παρακάτω.

Θέση εμφάνισης στοιχείου

Σε οθόνη τύπου SFListForm, η θέση εμφάνισης στοιχείου δεν ορίζεται από την ιδιότητα Bounds αλλά από ένα σύνολο ιδιοτήτων που καθορίζουν την τοποθέτηση του στοιχείου μέσα σε ένα πλέγμα. Για τη ρύθμιση της θέσης εμφάνισης στοιχείου ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Πλέγμα
Version

Σε περίπτωση υλοποίησης νέας οθόνης, συστήνεται η δήλωση της τιμής 2. Οι βελτιώσεις της έκδοσης αυτής σε σχέση με την προηγούμενη, είναι:

  • Ο τρόπος υπολογισμού του ύψους ενός RowTemplate (ιδιότητα Height), όπου πλέον προσδιορίζεται και σε σχέση με το μέγεθος οθόνης της εκάστοτε συσκευής. Ο τύπος υπολογισμού είναι RowTemplate.Height * Screen.Height /320.
  • Αυξήθηκε ο «ωφέλιμος» χώρος της περιοχής δεδομένων λόγω μείωσης σε 3 του padding σε όλες τις πλευρές.
Rows, Columns Τα 2 αυτά μεγέθη καθορίζουν το πλήθος γραμμών-στηλών του πλέγματος.
Size Το ύψος μιας εγγραφής της λίστας. Αφορά σε όλα τα RowTemplates και χρησιμοποιείται μόνο στην περίπτωση που η ιδιότητα Height των επιμέρους RowTemplates είναι κενή.
Orientation Η κατεύθυνση του scrolling επί της οθόνης. Οι διαθέσιμες επιλογές είναι: vertical & horizontal.
ItemSpan Λειτουργεί σε συνδυασμό με την ιδιότητα Orientation και καθορίζει τον αριθμό των εγγραφών που εντάσσονται στην οθόνη ανά γραμμή (vertical orientation) ή ανά στήλη (horizontal oriantation).
Cell
Row, Column, RowSpan, ColumnSpan Τα 4 αυτά μεγέθη καθορίζουν τη θέση-ύψος-πλάτος του στοιχείου. Σημειώνουμε εδώ ότι θα πρέπει να δοθεί ιδιαίτερη προσοχή έτσι ώστε τα μεγέθη αυτά να καθιστούν το στοιχείο εντός των ορίων του πλέγματος.

MOB-ImplementationGuide-5 2-image66.png

Στήλη εικόνας (ImageCell)

Σε οθόνη τύπου SFListForm, ο ορισμός στήλης εικόνας γίνεται μέσω χρήσης στοιχείου τύπου ImageCell. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες του στοιχείου ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Type Θα πρέπει το στοιχείο να είναι τύπου ImageCell. Εναλλακτικά μπορεί να δηλωθεί και ως CarouselPopupCell, οπότε, εστιάζοντας επί του στοιχείου, γίνεται μεγέθυνση της εικόνας και δίνεται η δυνατότητα εμφάνισης εναλλακτικών εικόνων.
CellSource Θα πρέπει να δηλωθεί η κολόνα της εντολής που αντιστοιχεί στο στοιχείο.
ImageSource Η κολόνα της εντολής που θέλουμε να χρησιμοποιηθεί για τη συσχέτιση εγγραφής της λίστας με όνομα αρχείου εικόνας. Συμπληρώνεται μόνο στην περίπτωση που θέλουμε να δηλώσουμε άλλη κολόνα από αυτή που έχει δηλωθεί στην ιδιότητα CellSource.
ImageFolder Ο φάκελος στον οποίο βρίσκονται τα αρχεία εικόνας. Συμπληρώνεται μόνο στην περίπτωση που θέλουμε να δηλώσουμε άλλο φάκελο από τον «προκαθορισμένο» που είναι ο ProductImages.
ImageCaption Η κολόνα της εντολής που θέλουμε να εμφανιστεί ως λεζάντα κάτω από την εικόνα. Συμπληρώνεται μόνο στην περίπτωση που θέλουμε την εμφάνιση λεζάντας.
Height, Width Οι διαστάσεις της εικόνας. Συμπληρώνονται μόνο στην περίπτωση που θέλουμε η εικόνα να μην καταλαμβάνει όλο το χώρο που της αναλογεί βάσει των ιδιοτήτων Row, Column, RowSpan & ColumnSpan.
Name

Συμπληρώνεται μόνο σε περίπτωση που θέλουμε το στοιχείο να συμπεριφερθεί ως ButtonCell, δηλαδή να αναφέρεται σε κάποια προς εκτέλεση εντολή. Για τον τρόπο ορισμού, ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για ButtonCell της ListForm οθόνης, απλά θα πρέπει επιπλέον να φροντίσουμε ώστε:

  • το στοιχείο να δηλωθεί ως τύπου ImageCell και όχι CarouselPopupCell
  • στην ιδιότητα CellSource να δηλωθεί η κολόνα «τροφοδότησης» της προς εκτέλεση εντολής
  • στην ιδιότητα ImageSource να δηλωθεί η κολόνα συσχέτισης εγγραφής με αρχείο εικόνας

edit Παράδειγμα-1

Έστω για παράδειγμα ότι θέλουμε η στήλη εικόνα να εμφανίζει απλά το λογότυπο της επιχείρησης. Έστω επίσης ότι, η κολόνα συσχέτισης εγγραφής με αρχείο εικόνας είναι ο κωδικός πελάτη.

edit Παράδειγμα-2

Έστω ότι θέλουμε να επεκτείνουμε το παραπάνω στοιχείο έτσι ώστε να δώσουμε και τη δυνατότητα μετάβασης, εστιάζοντας επί της στήλης εικόνα, σε οθόνη με τα οικονομικά στοιχεία του πελάτη.

Πλήκτρα ενεργειών (ButtonCell)

MOB-ImplementationGuide-5 2-image67.pngΤα πλήκτρα ενεργειών αναφέρονται πάντα σε κάποια προς εκτέλεση εντολή (command). Για τον ορισμό πλήκτρου ενεργειών σε οθόνη τύπου SFListForm, ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην αντίστοιχη ενότητα οθόνης τύπου ListForm. Η μόνη διαφορά είναι ότι στην περίπτωση της SFListForm οθόνης, απαιτείται και η δήλωση του εικονιδίου με το οποίο γίνεται ορατό το πλήκτρο. Εναλλακτικά, ο ορισμός του πλήκτρου μπορεί να γίνει και με χρήση στοιχείου τύπου ImageCell. Για τη ρύθμιση εικονιδίου, ανά περίπτωση, ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
ButtonCell
Type Θα πρέπει το στοιχείο να είναι τύπου ButtonCell.
ImageDefault Για τη συμπλήρωση της ιδιότητας αυτής θα πρέπει να γίνει «μετατροπή» του εικονιδίου σε encoding Base64 Η μετατροπή αυτή μπορεί να γίνει εύκολα χρησιμοποιώντας εργαλεία όπως το www.browserling.com/tools/image-to-base64.
Height, Width Οι διαστάσεις του πλήκτρου. Συμπληρώνονται μόνο στην περίπτωση που θέλουμε το πλήκτρο να μην καταλαμβάνει όλο το χώρο που του αναλογεί βάσει των ιδιοτήτων Row, Column, RowSpan & ColumnSpan.
ImageCell
Type Θα πρέπει το στοιχείο να είναι τύπου ImageCell.
ImageSource Θα πρέπει αρχικά, στο select query της εντολής, να υπάρχει κολόνα το περιεχόμενο της οποίας να αντιστοιχεί στο όνομα του αρχείου εικόνας που θα χρησιμοποιηθεί στο πλήκτρο και στη συνέχεια, στην ιδιότητα ImageSource να δηλωθεί το όνομα της κολόνας αυτής.
ImageFolder Θα πρέπει να δηλωθεί ο φάκελος στον οποίο βρίσκονται τα αρχεία εικόνας.

edit Παράδειγμα-1

Έστω για παράδειγμα ότι θέλουμε να δώσουμε στην SFListForm οθόνη μας τη δυνατότητα άμεσης κλήσης της ενέργειας καταχώρισης νέας Παραγγελίας. Έστω επίσης ότι θέλουμε, να γίνει χρήση στοιχείου τύπου ButtonCell.

edit Παράδειγμα-2

Έστω για παράδειγμα ότι θέλουμε να δώσουμε στην SFListForm οθόνη μας τη δυνατότητα άμεσης κλήσης της ενέργειας καταχώρισης νέας Παραγγελίας. Έστω επίσης ότι θέλουμε, να γίνει χρήση στοιχείου τύπου ImageCell και ότι το αρχείο εικόνας που θέλουμε να χρησιμοποιηθεί είναι το Sample_SalesOrder.png του φακέλου CSImages.

Διαμόρφωση επιλεγμένης εγγραφής

Σε οθόνη τύπου SFListForm, υπάρχει δυνατότητα της δήλωσης δυο RowTemplates για την περιοχή δεδομένων. Η δυνατότητα αυτή έρχεται να καλύψει την ανάγκη διαφοροποίησης των στοιχείων και της μορφής εμφάνισης μεταξύ κανονικής (Normal) και επιλεγμένης (Selected) εγγραφής. Οι ρυθμίσεις που απαιτούνται είναι:

  • Ορισμός δεύτερου RowTemplate (Selected RowTemplate) στο AdvancedList αρχείο της φόρμας. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για το Normal RowTemplate.
  • Δήλωση του α/α του Selected RowTemplate στην ιδιότητα SelectedTemplateIndex.

Σημειώνουμε εδώ ότι, δηλώνοντας στην ιδιότητα του AdvancedList αρχείου της φόρμας SelectionMode την τιμή SelectDeselect η οθόνη αποκτά τη δυνατότητα επιλογής / από-επιλογής εγγραφής ενώ δηλώνοντας στην ιδιότητα MultiSelect την τιμή true αποκτά και τη δυνατότητα πολλαπλής επιλογής εγγραφών.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να επεκτείνουμε την SFListForm οθόνη μας με επιπλέον πλήκτρα ενεργειών. Έστω επίσης ότι θέλουμε, για λόγους εργονομίας της οθόνης, τα πλήκτρα ενεργειών να εμφανίζονται μόνο επί επιλεγμένης εγγραφής.

MOB-ImplementationGuide-5 2-image68.png

Ιδιότητες μορφοποίησης στοιχείου

Σε οθόνη τύπου SFListForm παρέχονται και επιπλέον δυνατότητες ρύθμισης κάποιων από τις ιδιότητες που αφορούν στη μορφοποίηση της περιοχής δεδομένων. Συγκεκριμένα, ισχύουν τα παρακάτω.

  • Χρώμα. Ο ορισμός των ιδιοτήτων που αφορούν σε χρώμα (ForeColor, BackColor κ.λπ.) μπορεί να γίνει και με χρήση του HEX αριθμού χρώματος.

edit <Property Name="ForeColor" Value="6A5ACD" />

  • Στοίχιση. Οι διαθέσιμες τιμές της ιδιότητας Alignment είναι: Left, UpperLeft, LowerLeft, Right, UpperRight, LowerRight & Center, UpperCenter, LowerCenter.
  • Wrapping. Ο ορισμός της επιθυμητής συμπεριφοράς, σε περίπτωση που το περιεχόμενο του στοιχείου υπερβαίνει τα όρια της θέσης του, γίνεται στην ιδιότητα LineBreakMode. Οι διαθέσιμες τιμές είναι: 0-Do not wrap, 1-Wrap at word boundaries, 2- Wrap at character boundaries, 3-Truncate the head of text, 4-Truncate the tail of text & 5-Truncate the middle of text.

Μορφοποίηση βάσει συνθήκης (Binding)

Σε οθόνη τύπου SFListForm παρέχεται και η δυνατότητα διαφοροποίησης βάσει συνθήκης (Binding) κάποιων από τις ιδιότητες που αφορούν στη μορφοποίηση της περιοχής δεδομένων. Οι ρυθμίσεις που απαιτούνται για ενεργοποίηση της δυνατότητας αυτής είναι:

  • Εντολή. Ορισμός, στο select query της εντολής, διακριτής κολόνας το περιεχόμενο της οποίας περιγράφει την Binding συνθήκη.
  • Φόρμα. Δήλωση της κολόνας αυτής ως Value των στοιχείων του AdvancedList αρχείου της φόρμας στα οποία θέλουμε εφαρμοστεί η Binding συνθήκη. Η δήλωση θα πρέπει να είναι της μορφής {Binding Column} όπου Column η κολόνα που περιγράφει την Binding συνθήκη . Οι ιδιότητες τύπου string στις οποίες μπορεί να γίνει χρήση του Binding είναι οι BackColor, ForeColor & BorderColor ενώ οι τύπου boolean είναι οι InputTransparent & Visible.

Σημειώνουμε εδώ ότι, όταν οι προδιαγραφές σχεδίασης της οθόνης απαιτούν την εμφάνιση δυο στοιχείων στην ίδια ακριβώς θέση της οθόνης, κάτι που ισχύει στο δεύτερο παράδειγμα μας, θα πρέπει να φροντίσουμε έτσι ώστε παράλληλα με τη ρύθμιση της ιδιότητας Visible να γίνει και ανάλογη ρύθμιση της ιδιότητας InputTrasnparent. Η Binding συνθήκη της ιδιότητας αυτής θα πρέπει να φέρνει σαν αποτέλεσμα την αντίθετη τιμή από αυτήν που έχει οριστεί για τη ιδιότητα Visible.

edit Παράδειγμα-1

Έστω για παράδειγμα ότι θέλουμε να επεκτείνουμε την SFListForm οθόνη μας έτσι ώστε να εμφανίζει και την πληροφορία της ABC κλάσης του πελάτη. Έστω επίσης ότι θέλουμε, διαφοροποίηση της ιδιότητας ForeColor του στοιχείου αυτού βάσει της κλάσης στην οποία εντάσσεται ο κάθε πελάτης.

MOB-ImplementationGuide-5 2-image70.png

edit Παράδειγμα-2

Έστω για παράδειγμα ότι θέλουμε να επεκτείνουμε την SFListForm οθόνη μας έτσι ώστε, η ενέργεια καταχώρισης νέας Παραγγελίας να είναι διαθέσιμη μόνο σε πελάτες Α κλάσης. Σε πελάτες άλλης κλάσης, στη θέση που εμφανίζεται η ενέργεια αυτή, να εμφανίζεται οθόνη με τα οικονομικά στοιχεία του πελάτη.

MOB-ImplementationGuide-5 2-image72.png

Περιοχή τίτλων

Σε οθόνη τύπου SFListForm παρέχεται και η δυνατότητα εμφάνισης περιοχής τίτλων (Header RowTemplate). Ο ορισμός της περιοχής αυτής είναι προαιρετικός ενώ η ενεργοποίηση της γίνεται δηλώνοντας τον α/α του αντίστοιχου RowTemplate στην ιδιότητα HeaderTemplateIndex του AdvancedList αρχείου της φόρμας.

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

Περιοχή ομαδοποίησης

Παράδειγμα SampleSFListGrouping

Σε οθόνη τύπου SFListForm παρέχεται και η δυνατότητα εμφάνισης περιοχής ομαδοποίησης των δεδομένων. Για την ενεργοποίηση της δυνατότητας αυτής αρκεί, στην ιδιότητα GroupField του AdvancedList αρχείου της φόρμας, να δηλωθεί η κολόνα εκείνη του select query της εντολής η οποία αποτελεί το κριτήριο ομαδοποίησης.

Ειδικά στην περίπτωση SFListForm οθόνης που αναφέρεται στην οντότητα Είδος ή Πελάτης, δίνεται και η δυνατότητα κεντρικού ορισμού του κριτηρίου ομαδοποίησης. Για τον τρόπο ρύθμισης της συμπεριφοράς αυτής απαιτούνται τα παρακάτω.

  • Δήλωση στις παραμέτρους κινητού SFList_GroupFieldItem & SFList_GroupFieldICustomer του επιθυμητού κριτηρίου, για Είδος & Πελάτη αντίστοιχα, βάσει του οποίου θέλουμε να γίνεται η ομαδοποίηση. Θα πρέπει βέβαια να φροντίσουμε ώστε το κριτήριο αυτό να συμπεριλαμβάνεται στις κολόνες του select query της εκάστοτε εντολής.
  • Δήλωση στην ιδιότητα GroupField του AdvancedList αρχείου της φόρμας, της ανάλογης παραμέτρου κινητού. Η δήλωση αυτή θα πρέπει να είναι της μορφής ##SFList_GroupFieldItem ή ##SFList_GroupFieldICustomer αντίστοιχα.

Σε οποιαδήποτε περίπτωση, εστιάζοντας στην περιοχή μιας ομάδας, γίνεται ανάπτυξη-σύμπτυξη της συγκεκριμένης ομάδας ενώ μέσω του πλήκτρου A picture containing qr code Description automatically generated-Σύμπτυξη γίνεται ανάπτυξη-σύμπτυξη όλων των ομάδων. Αν για οποιονδήποτε λόγο επιθυμούμε την απόκρυψη του πλήκτρου, θα πρέπει στην ιδιότητα HideExpandButton της SFListForm εντολής να δηλωθεί η τιμή True.

edit Παράδειγμα-1

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια SFListForm οθόνη η οποία να εμφανίζει το κορυφαίο σε τζίρο είδος ανά πελάτη. Έστω επίσης ότι θέλουμε την ομαδοποίηση των δεδομένων της οθόνης βάσει της παραμέτρου κινητού SFList_GroupFieldItem στην οποία έχει δηλωθεί η τιμή ItemGroup.

. MOB-ImplementationGuide-5 2-image75.png

edit Παράδειγμα-2

Έστω για παράδειγμα ότι θέλουμε να αλλάξουμε την SFListForm οθόνη μας έτσι ώστε να γίνεται ομαδοποίηση των δεδομένων της βάσει της κολόνας ABCClass.

MOB-ImplementationGuide-5 2-image77.png

Σημειώνουμε εδώ ότι ως προς τη μορφή εμφάνισης της περιοχής, το χρώμα φόντου είναι προκαθορισμένο ενώ οι διαθέσιμες πληροφορίες είναι τα κριτήριο ομαδοποίησης & πλήθος εγγραφών ομάδας. Σε περίπτωση που επιθυμούμε οποιαδήποτε διαφοροποίηση της μορφής εμφάνισης απαιτείται η δήλωση, στο AdvancedList αρχείο της φόρμας, ειδικού RowTemplate (SectionHeader RowTemplate). Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες της περιοχής αυτής ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
RowTemplate
Name Θα πρέπει υποχρεωτικά να έχει το λεκτικό sectionheader.
Height Το ύψος της περιοχής. Για την απόκρυψη της περιοχής θα πρέπει να δηλωθεί η τιμή 0.
BackColor Το χρώμα του φόντου της περιοχής. Η δήλωση μπορεί να γίνει και με χρήση του HEX αριθμού χρώματος.
Cell
Type Θα πρέπει το στοιχείο να είναι τύπου TextCell.
CellSource Για το κριτήριο ομαδοποίησης απαιτείται δήλωση του λεκτικού GroupField ενώ για το πλήθος εγγραφών απαιτείται δήλωση του λεκτικού Count.

edit Παράδειγμα-3

MOB-ImplementationGuide-5 2-image79.pngΈστω για παράδειγμα ότι θέλουμε να διατηρήσουμε μεν την ομαδοποίηση των δεδομένων της SFListForm οθόνη μας βάσει ABCClass αλλά να αλλάξουμε την μορφή εμφάνισης της περιοχής ομαδοποίησης.

Εναλλακτικές διατάξεις

Παράδειγμα SampleSFListForm

Σε οθόνη τύπου SFListForm, μέσω των εναλλακτικών διατάξεων, δίνεται η δυνατότητα δυναμικής μεταβολής μορφής εμφάνισης της οθόνης. Για τις απαιτούμενες ρυθμίσεις ισχύουν τα παρακάτω.

  • MOB-ImplementationGuide-5 2-image80.pngΔιαμόρφωση διάταξης. Η διαμόρφωση διάταξης γίνεται μέσω χρήσης αρχείου τύπου AdvancedList.xml. Όσον αφορά στον τρόπο ορισμού των επιμέρους στοιχείων του AdvancedList αρχείου, ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για την «προκαθορισμένη» διάταξη της SFListForm οθόνης.
  • Τοποθέτηση διάταξης. Τα αρχεία εναλλακτικών διατάξεων μπορούν να έχουν οποιοδήποτε όνομα εκτός του ονόματος «AdvancedList.xml» και θα πρέπει να βρίσκονται στον υπό-φάκελο Layouts της περιοχής που βρίσκεται και η «προκαθορισμένη» διάταξη της SFListForm οθόνης.
  • Πλήκτρο κλήσης διάταξης. Η κλήση των εναλλακτικών διατάξεων γίνεται από το πλήκτρο A black rectangle with a black background Description automatically generated with low confidence-Διατάξεις της SFListForm οθόνης. Για την εμφάνιση του πλήκτρου αυτού απαιτείται η δήλωση των διαθέσιμων διατάξεων στο section Layouts της SFListForm εντολής. Η σύνδεση πλήκτρου & αρχείου διάταξης γίνεται δηλώνοντας στην ιδιότητα FormID το όνομα αρχείου της προς κλήση διάταξης.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να επεκτείνουμε την SFListForm οθόνη μας με μια διάταξη που να εμφανίζει το πελατολόγιο και υπό μορφή λίστας εγγραφών. Έστω επίσης ότι, το όνομα αρχείου της διάταξης αυτής είναι το RowView.xml.

MOB-ImplementationGuide-5 2-image82.pngMOB-ImplementationGuide-5 2-image83.png

Οθόνες λίστα επιλογής

Οι οθόνες επιλογής δεν είναι αυτόνομες οθόνες αλλά οθόνες που καλούνται πάντα μέσα από το περιβάλλον μιας Data entry οθόνης. Εμφανίζουν τα δεδομένα υπό μορφή λίστας και χρησιμοποιούνται ως εργαλείο «ενημέρωσης» στοιχείων μιας οντότητας είτε κάνοντας ανάθεση τιμής σε πεδίο είτε κάνοντας εισαγωγή εγγραφής. Η λειτουργικότητα τους διαφοροποιείται κάπως ανάλογα του σημείου από το οποίο γίνεται η κλήση της οθόνης.

Τυπική λίστα επιλογής (InvForm)

Παράδειγμα SampleInvForm

Η τυπική λίστα επιλογής (InvForm) καλείται εστιάζοντας σε συγκεκριμένο πεδίο μιας Data entry οθόνης και χρησιμοποιείται ως εργαλείο αναζήτησης & επιλογής μιας εγγραφής με στόχο την ανάθεση αυτής σε πεδίο της οθόνης από την οποία γίνεται η κλήση της. Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου InvForm είναι:

Στοιχείο Σχόλιο
Εντολή Απαιτείται η χρήση εντολής τύπου InvFormCreatorCommand. Όσον αφορά στα στοιχεία που ορίζονται σε επίπεδο εντολής (δεδομένα, ταξινόμηση & αναζήτηση) ισχύουν σε γενικές γραμμές τα ίδια με αυτά που περιγράφονται για οθόνη τύπου ListForm. Στην ενότητα αυτή θα αναφερθούμε επιγραμματικά αλλά και χρησιμοποιώντας συγκεκριμένο παράδειγμα, στα σημεία εκείνα που διαφοροποιούνται και επομένως απαιτούν ιδιαίτερη προσοχή κατά την υλοποίηση οθόνης τύπου InvForm.
Φόρμα Για την υλοποίηηση της μορφής εμφάνισης της οθόνης απαιτείται η χρήση αρχείου τύπου AdvancedList.xml. Όσον αφορά στον τρόπο ορισμού των στοιχείων εμφάνισης της περιοχής δεδομένων ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για οθόνη τύπου ListForm.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια οθόνη η οποία θα χρησιμοποιηθεί ως λίστα επιλογής διεύθυνσης στην Data entry οθόνη εργασίας τύπου ES.MCH-Μέτρηση. Έστω επίσης ότι οι προδιαγραφές για τα δεδομένα και τη μορφή εμφάνισης της οθόνης αυτής ταυτίζονται πλήρως με εκείνες του παραδείγματος SampleListForm.. MOB-ImplementationGuide-5 2-image86.pngMOB-ImplementationGuide-5 2-image87.png

Δεδομένα / Ιδιαίτερες ρυθμίσεις

Για τις ρυθμίσεις σε επίπεδο εντολής, σε συνδυασμό με αυτά που ισχύουν για οθόνη τύπου ListForm, ισχύουν και τα παρακάτω.

  • Τύπος. Θα πρέπει να γίνει χρήση εντολής τύπου InvFormCreatorCommand.
  • Δεδομένα. Θα πρέπει στο select query να υπάρχει κολόνα η οποία να αποτελεί το μοναδικό κλειδί ταυτοποίησης μιας εγγραφής της λίστας και η κολόνα αυτή θα πρέπει να έχει το όνομα GID. Για το παράδειγμα μας δηλαδή, θα πρέπει να υπάρχει στο select query κολόνα με το όνομα GID η οποία να αναφέρεται στο πεδίο GID του πίνακα ESGOSites.
  • Ιδιότητες εντολής. Θα πρέπει να υπάρχει η ιδιότητα FilterBy έστω και με κενό περιεχόμενο. Μέσω της ιδιότητας αυτής δίνεται η δυνατότητα δυναμικού φιλτραρίσματος των δεδομένων της λίστας βάσει της τιμής άλλων πεδίων της Data entry οθόνης. Για το παράδειγμα μας δηλαδή, η ιδιότητα αυτή θα χρησιμοποιηθεί για το φιλτράρισμα της λίστας διευθύνσεων βάσει του εκάστοτε προσώπου στο οποίο αναφέρεται η Data entry οθόνη μας. Η σύνταξη της ιδιότητας θα πρέπει να είναι της μορφής

<FilterBy Type="System.String"

Value=" Column1#=#DataMember1,Column2#=#DataMember2,…" /> όπου

  • Column, η κολόνα του select query πάνω στην οποία θα εφαρμοστεί το φιλτράρισμα.

  • DataMember, το στοιχείο της Data entry οθόνης βάσει του οποίου θα γίνει το φιλτράρισμα.

Λίστα εισαγωγής γραμμών (AddLineForm) MOB-ImplementationGuide-5 2-image1.png

Παράδειγμα SampleAddLineForm

Η οθόνη τύπου AddLineForm καλείται από κατάλληλα διαμορφωμένο πλήκτρο της Data entry οθόνης εργασίας-παραστατικού και χρησιμοποιείται ως εργαλείο αναζήτησης & επιλογής εγγραφών με στόχο την καταχώρηση τους στις γραμμές εργασίας-παραστατικού. Η AddLineForm οθόνη αποκτά αυτόματα και τα παρακάτω επιπλέον, σε σχέση με την InvForm οθόνη, χαρακτηριστικά:

  • Δυνατότητα πολλαπλής επιλογής εγγραφών.

  • Προσθήκη στήλης μέσω της οποίας δίνεται η δυνατότητα εμφάνισης εικόνας σχετιζόμενης με τις εγγραφές της λίστας.

  • Δυνατότητα ανάθεσης τιμής σε στοιχείο των γραμμών εργασίας-παραστατικού.

Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου AddLineForm είναι:

Στοιχείο Σχόλιο
Εντολή Απαιτείται η χρήση εντολής τύπου InvFormCreatorCommand. Όσον αφορά στα στοιχεία που ορίζονται σε επίπεδο εντολής (δεδομένα, ταξινόμηση & αναζήτηση) ισχύουν σε γενικές γραμμές τα ίδια με αυτά που περιγράφονται για οθόνη τύπου ListForm. Στην ενότητα αυτή θα αναφερθούμε επιγραμματικά αλλά και χρησιμοποιώντας συγκεκριμένο παράδειγμα, στα σημεία εκείνα που διαφοροποιούνται και επομένως απαιτούν ιδιαίτερη προσοχή κατά την υλοποίηση οθόνης τύπου AddLineForm.
Φόρμα Για την υλοποίηση της μορφής εμφάνισης της οθόνης απαιτείται η χρήση αρχείου τύπου AdvancedList.xml. Όσον αφορά στον τρόπο ορισμού των στοιχείων εμφάνισης της περιοχής δεδομένων ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για οθόνη τύπου ListForm.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια οθόνη η οποία θα χρησιμοποιηθεί ως λίστα εισαγωγής γραμμών στην Data entry οθόνη παραστατικού τύπου 1-Παραγγελία. Έστω επίσης ότι θέλουμε η λίστα αυτή να εμφανίζει κάποιες από τις βασικές πληροφορίες του είδους (κωδικό, περιγραφή, τιμή κ.λπ.). Έστω τέλος ότι η φόρμα της οθόνης αυτής είναι η SampleAddLineForm. Table Description automatically generated

Δεδομένα / Ιδιαίτερες ρυθμίσεις

Για τις ρυθμίσεις σε επίπεδο εντολής, σε συνδυασμό με αυτά που ισχύουν για οθόνη τύπου ListForm, ισχύουν και τα παρακάτω.

  • Τύπος. Θα πρέπει να γίνει χρήση εντολής τύπου InvFormCreatorCommand.
  • Δεδομένα. Θα πρέπει στο select query
  • να υπάρχει κολόνα η οποία να αποτελεί το μοναδικό κλειδί ταυτοποίησης μιας εγγραφής της λίστας και η κολόνα αυτή θα πρέπει να έχει το όνομα GID. Για το παράδειγμα μας δηλαδή, θα πρέπει να υπάρχει στο select query κολόνα με το όνομα GID η οποία να αναφέρεται στο πεδίο GID του πίνακα ESFIItem.

Στην περίπτωση που το μοναδικό κλειδί ταυτοποίησης μια εγγραφής της λίστας συντίθεται από περισσότερες της μιας κολόνες, θα πρέπει η κολόνα GID να προκύπτει από τη σύνθεση αυτών.

edit Για λίστα εισαγωγής γραμμών ανταγωνισμού, όπου το ίδιο είδος μπορεί να παρέχεται από πολλούς ανταγωνιστές

  • να υπάρχει κολόνα με το όνομα Qty η οποία να έχει ως περιεχόμενο τη σταθερά 1.0.

  • να υπάρχει κολόνα με το όνομα Code έστω και με κενό περιεχόμενο. Η κολόνα αυτή χρησιμοποιείται για την συσχέτιση εγγραφής της λίστας με όνομα αρχείου εικόνας. Σημειώνουμε εδώ ότι, μέσω κατάλληλης ρύθμισης, δίνεται η δυνατότητα διαφοροποίησης της συμπεριφοράς αυτής.

  • να υπάρχουν οι κολόνες fMUCode & fItemMUGID έστω και με κενό περιεχόμενο. Οι κολόνες αυτές χρησιμοποιούνται προκειμένου να υπάρχει η δυνατότητα επιλογής μονάδας μέτρησης. Ειδικά για την οντότητα Task, συστήνεται να υπάρχει και κολόνα «ανάθεσης» της βασικής μονάδας μέτρησης του είδους στο αντίστοιχο στοιχείο της γραμμής εργασίας.

  • να υπάρχει η κολόνα ItemMUDecimals, αν θέλουμε έλεγχο του επιτρεπόμενου -βάσει μονάδας μέτρησης- πλήθους δεκαδικών ποσότητας.

  • Ιδιότητες εντολής. Θα πρέπει, αν θέλουμε να υπάρχει δυνατότητα μαζικής καταχώρισης ποσότητας για το σύνολο των επιλεγμένων εγγραφών, να ενεργοποιηθεί η ιδιότητα SelectaAllEnabled.

Ανάθεση τιμής σε στοιχείο (Assign_CellSource)

Όπως αναφέρθηκε και παραπάνω, ένα από τα ιδιαίτερα χαρακτηριστικά της AddLineForm οθόνης είναι η δυνατότητα ανάθεσης τιμής σε στοιχείο των γραμμών εργασίας-παραστατικού. Για την αξιοποίηση της δυνατότητας αυτής αρκεί ο ορισμός, στο select query της εντολής, διακριτής κολόνας της μορφής ValueMember Assign_CellSource όπου

  • ValueMember, η τιμή προς ανάθεση η οποία μπορεί να είναι μια σταθερά, το περιεχόμενο ενός πεδίου ή ακόμα και μια έκφραση.

  • CellSource, το στοιχείο της γραμμής εργασίας-παραστατικού στο οποίο θα γίνει η ανάθεση. Σημειώνουμε εδώ ότι, ως στοιχείο προς ανάθεση μπορεί να δηλωθεί οποιοδήποτε store ή non store πεδίο της γραμμής.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε η κολόνα «Κατασκευαστής» της AddLineForm οθόνης μας να ανατίθεται στο στοιχείο «Κείμενο-1» της γραμμής παραστατικού.

information Σημείωση

Στην περίπτωση που το σενάριο ανάθεσης τιμής σε στοιχείο είναι αρκετά εξειδικευμένο, δίνεται και η δυνατότητα ορισμού της assign συνθήκης μέσω χρήσης του εργαλείου Business Rules.

Μορφή εμφάνισης / Ιδιαίτερες ρυθμίσεις

Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες της περιοχής δεδομένων, σε συνδυασμό με αυτά που ισχύουν για οθόνη τύπου ListForm, ισχύουν και τα παρακάτω.

Στήλη εικόνας

Όπως αναφέρθηκε και παραπάνω, ένα από τα ιδιαίτερα χαρακτηριστικά της AddLineForm οθόνης είναι η προσθήκη στήλης εικόνας σχετιζόμενης με τις εγγραφές της λίστας. Για την αυτόματη ενεργοποίηση του χαρακτηριστικού αυτού αρκεί:

  • Στο φάκελο ProductImages της συσκευής να υπάρχουν αρχεία εικόνας που το όνομα τους ταυτίζεται με το περιεχόμενο της κολόνας Code του select query της εντολής και ο τύπος τους ταυτίζεται με το περιεχόμενο της παραμέτρου κινητού ImageFileExtension.

  • Η παράμετρος κινητού Item_ShowThumbs να έχει την τιμή 1-Ναι.

Παράλληλα και μέσω κατάλληλης ρύθμισης της AddLineForm εντολής, δίνεται η δυνατότητα διαφοροποίησης των προκαθορισμένων «προδιαγραφών» εμφάνισης εικόνας. Οι ρυθμίσεις που απαιτούνται είναι:

Ιδιότητα Σχόλιο
ImageColumn Η κολόνα του select query που θέλουμε να χρησιμοποιηθεί για τη συσχέτιση εγγραφής της λίστας με το όνομα αρχείου εικόνας.
ImageDirectory Ο φάκελος στον οποίο βρίσκονται τα αρχεία εικόνας.
ImageExtension Ο τύπος των αρχείων εικόνας.

Σημειώνουμε εδώ ότι, εστιάζοντας πάνω στην εικόνα γίνεται αυτόματα μεγέθυνση της και δίνεται η δυνατότητα μετάβασης σε οθόνη με τα πλήρη στοιχεία είδους καθώς και αποστολής της εικόνας με E-mail.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε στη στήλη εικόνα της AddLineForm οθόνης μας αντί της εικόνας του είδους να εμφανίζεται το λογότυπο του κατασκευαστή του είδους. Έστω επίσης ότι τα αρχεία εικόνας είναι τύπου png και βρίσκονται στο φάκελο CSImages/Logo.
MOB-ImplementationGuide-5 2-image91.PNGMOB-ImplementationGuide-5 2-image92.PNG

Standard πλήκτρα ενεργειών

Ειδικά στην iOS πλατφόρμα, αλλάζοντας απλά το όνομα της φόρμας έτσι ώστε να περιέχει το λεκτικό ItemInvForm, η AddLineForm οθόνη εμπλουτίζεται αυτόματα, εστιάζοντας επί εγγραφής, με τα παρακάτω standard πλήκτρα ενεργειών.

Πλήκτρο Σχόλια
Icon Description automatically generated Αύξηση ποσότητας επιλεγμένης εγγραφής.
MOB-ImplementationGuide-5 2-image96.png Μείωση ποσότητας επιλεγμένης εγγραφής.
Icon Description automatically generated Εμφάνιση οθόνης ανάλυσης της ποσότητας σε διαστάσεις του είδους. Το πλήκτρο αυτό είναι διαθέσιμο μόνο σε παραστατικά.
Shape, rectangle Description automatically generated Εστιάζοντας εμφανίζεται το pop up αριθμητικό πληκτρολόγιο για απευθείας δήλωση ποσότητας.
Logo Description automatically generated with low confidence Εμφάνιση οθόνης επιλογής μονάδας μέτρησης. Το πλήκτρο αυτό είναι διαθέσιμο μόνο σε παραστατικά.
Icon Description automatically generated Εμφάνιση οθόνης συμπλήρωσης σχόλιου επί της επιλεγμένης εγγραφής.
Shape, logo, arrow Description automatically generated Αναίρεση επιλογής εγγραφής.

Τα στοιχεία που δηλώνονται μέσω των πλήκτρων αυτών στην AddLineForm οθόνη μεταφέρονται ως έχουν στα αντίστοιχα πεδία της γραμμής εργασίας-παραστατικού.

edit Παράδειγμα

Έστω ότι επιλέγουμε να αλλάξουμε το όνομα της φόρμας του παραδείγματος μας από SampleAddLineForm σε SampleAddLineItemInvForm

MOB-ImplementationGuide-5 2-image90.PNGMOB-ImplementationGuide-5 2-image102.PNG

Λίστα εισαγωγής γραμμών (AddLineSFForm) Icon Description automatically generated Icon Description automatically generated

Παράδειγμα SampleAddLineSFForm

Η οθόνη τύπου AddLineSFForm καλείται από κατάλληλα διαμορφωμένο πλήκτρο της Data entry οθόνης εργασίας-παραστατικού και χρησιμοποιείται ως εργαλείο αναζήτησης & επιλογής εγγραφών με στόχο την καταχώρηση τους στις γραμμές εργασίας-παραστατικού. Η AddLineSFForm οθόνη είναι διαθέσιμη μόνο σε UWP & Android πλατφόρμα.

information Σημείωση

Μια οθόνη τύπου AddLineForm που έχει υλοποιηθεί σε iOS πλατφόρμα μπορεί να χρησιμοποιηθεί ακριβώς ως έχει και σε UWP & Android πλατφόρμα. Υλοποίηση οθόνης τύπου AddLineSFForm απαιτείται μόνο στην περίπτωση που υπάρχει ανάγκη εμπλουτισμού της οθόνης με τα standard πλήκτρα ενεργειών.

Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου AddLineSFForm είναι:

Στοιχείο Σχόλιο
Εντολή Απαιτείται η χρήση εντολής τύπου SFInvFormCreatorCommand. Όσον αφορά στα στοιχεία που ορίζονται σε επίπεδο εντολής (δεδομένα, ταξινόμηση & αναζήτηση) ισχύουν σε γενικές γραμμές τα ίδια με αυτά που περιγράφονται για οθόνη τύπου ListForm. Στην ενότητα αυτή θα αναφερθούμε επιγραμματικά αλλά και χρησιμοποιώντας συγκεκριμένο παράδειγμα, στα σημεία εκείνα που διαφοροποιούνται και επομένως απαιτούν ιδιαίτερη προσοχή κατά την υλοποίηση οθόνης τύπου AddLineSFForm.
Φόρμα Για την υλοποίηση της μορφής εμφάνισης της οθόνης απαιτείται η χρήση αρχείου τύπου AdvancedList.xml. Όσον αφορά στον τρόπο ορισμού των στοιχείων εμφάνισης της περιοχής δεδομένων ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για οθόνη τύπου SFListForm. Στην ενότητα αυτή θα αναφερθούμε μόνο στις ρυθμίσεις που απαιτούνται έτσι ώστε η AddLineSFForm οθόνη να προσομοιώνει πλήρως την αντίστοιχη AddLineForm οθόνη.

edit Παράδειγμα

MOB-ImplementationGuide-5 2-image102.PNGMOB-ImplementationGuide-5 2-image105.pngΈστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε σε UWP ή Android πλατφόρμα μια οθόνη τύπου λίστα εισαγωγής γραμμών η οποία να προσομοιώνει πλήρως σε εμφάνιση και λειτουργικότητα την οθόνη του παραδείγματος SampleAddLineForm.

Δεδομένα / Ιδιαίτερες ρυθμίσεις

Για τις ρυθμίσεις σε επίπεδο εντολής, σε συνδυασμό με αυτά που ισχύουν για οθόνη τύπου ListForm, ισχύουν και τα παρακάτω.

  • Τύπος. Θα πρέπει να γίνει χρήση εντολής τύπου SFInvFormCreatorCommand.
  • Δεδομένα. Θα πρέπει στο select query
  • να υπάρχει κολόνα η οποία να αποτελεί το μοναδικό κλειδί ταυτοποίησης μιας εγγραφής της λίστας και η κολόνα αυτή θα πρέπει να έχει το όνομα GID. Για το παράδειγμα μας δηλαδή, θα πρέπει να υπάρχει στο select query κολόνα με το όνομα GID η οποία να αναφέρεται στο πεδίο GID του πίνακα ESFIItem. Όπως αναφέρθηκε και παραπάνω, στην ενότητα της AddLineForm οθόνης, στην περίπτωση που το μοναδικό κλειδί ταυτοποίησης μιας εγγραφής της λίστας συντίθεται από περισσότερες της μιας κολόνες, θα πρέπει η κολόνα GID να προκύπτει από τη σύνθεση αυτών.

  • να υπάρχει κολόνα με το όνομα Qty η οποία να έχει ως περιεχόμενο τη σταθερά 1.0.

  • να υπάρχουν κολόνες με το όνομα fMUCode & fItemMUGID έστω και με κενό περιεχόμενο. Οι κολόνες αυτές χρησιμοποιούνται προκειμένου να υπάρχει η δυνατότητα επιλογής μονάδας μέτρησης.

  • να υπάρχει η κολόνα ItemMUDecimals, αν θέλουμε έλεγχο του επιτρεπόμενου -βάσει μονάδας μέτρησης- πλήθους δεκαδικών ποσότητας.

  • Ιδιότητες εντολής. Θα πρέπει, αν θέλουμε να υπάρχει δυνατότητα μαζικής καταχώρισης ποσότητας για το σύνολο των επιλεγμένων εγγραφών, να ενεργοποιηθεί η ιδιότητα SelectAllQtyEnabled.

Ανάθεση τιμής σε στοιχείο (Assign_CellSource)

Σε οθόνη τύπου AddLineSFForm, για την αξιοποίηση της δυνατότητας ανάθεσης τιμής σε στοιχείο των γραμμών εργασίας-παραστατικού ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην αντίστοιχη ενότητα της AddLineForm οθόνης.

Μορφή εμφάνισης / Ιδιαίτερες ρυθμίσεις

Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες της περιοχής δεδομένων, σε συνδυασμό με αυτά που ισχύουν για οθόνη τύπου ListForm & SFListForm, ισχύουν και τα παρακάτω.

Θέση εμφάνισης στοιχείου

Όπως αναφέρθηκε και παραπάνω, σε UWP & Android πλατφόρμα η ιδιότητα Bounds αγνοείται πλήρως με αποτέλεσμα τα επιμέρους στοιχεία να μην έχουν συγκεκριμένη θέση εμφάνισης αλλά να διανέμονται «αναλογικά» στο διαθέσιμο χώρο της οθόνης. Σε περίπτωση που αυτή η μορφή εμφάνισης δεν μας ικανοποιεί, προτείνεται η επέκταση του AdvancedList αρχείου της φόρμας με τις ιδιότητες που αφορούν στην τοποθέτηση στοιχείου μέσα σε ένα πλέγμα. Στην περίπτωση αυτή, και για τη ρύθμιση της θέσης εμφάνισης στοιχείου ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην αντίστοιχη ενότητα της SFListForm οθόνης.

Στήλη εικόνας (ImageCell)

Σε οθόνη τύπου AddLineSFForm ο ορισμός στήλης εικόνας γίνεται στο RowTemplate της περιοχής δεδομένων και μέσω χρήσης στοιχείου τύπου ImageCell. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες της στήλης εικόνας ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην αντίστοιχη ενότητα της SFListForm οθόνης.

Standard πλήκτρα ενεργειών

Σε οθόνη τύπου AddLineSFForm ο ορισμός των standard πλήκτρων ενεργειών γίνεται στο RowTemplate της περιοχής δεδομένων και μέσω χρήσης στοιχείων τύπου TextCell & ButtonCell. Προτείνεται, για λόγους εργονομίας της οθόνης, τα standard πλήκτρα ενεργειών να εμφανίζονται μόνο επί επιλεγμένης εγγραφής. Για την προσθήκη των standard πλήκτρων ενεργειών σε AddLineSFForm οθόνη απαιτείται δήλωση στοιχείου με τις παρακάτω, ανά πλήκτρο, ιδιότητες.

Πλήκτρο Ιδιότητα Τιμή ιδιότητας
Icon Description automatically generated Αύξηση ποσότητας Type ButtonCell editΓια το πλήκτρο αύξησης ποσότητας
CellSource Qty
Name PlusButton
Icon Description automatically generated Μείωση ποσότητας Type ButtonCell
CellSource Qty
Name MinusButton
Icon Description automatically generated Διαστάσεις είδους Type ButtonCell
CellSource Qty
Name AnalysisButton
Shape, rectangle Description automatically generated Ποσότητα Type TextCell
CellSource Qty
Name Qty
Logo Description automatically generated with low confidence Μονάδα μέτρησης Type TextCell
CellSource fMUCode
Name MMButton
DesignName zoom=MMButton
Icon Description automatically generated Σχόλιο γραμμής Type ButtonCell
CellSource Assign_Reasoning
Name ReasoningButton

Διαμόρφωση επιλεγμένης εγγραφής

Σε οθόνη τύπου AddLineSFForm παρέχεται και η δυνατότητα διαφοροποίησης των στοιχείων και της μορφής εμφάνισης μεταξύ κανονικής (Normal) και επιλεγμένης (Selected) εγγραφής. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες της περιοχής ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην αντίστοιχη ενότητα της SFListForm οθόνης. Ιδιαίτερη προσοχή όμως θα πρέπει να δοθεί στις παρακάτω ιδιότητες.

Ιδιότητα Σχόλιο
SelectedTemplateIndex Θα πρέπει να δηλωθεί ο α/α του RowTemplate που αφορά σε επιλεγμένη εγγραφή (Selected RowTemplate).
SelectionMode Θα πρέπει να δηλωθεί η τιμή SelectDeselect έτσι ώστε να δοθεί η δυνατότητα επιλογής / από-επιλογής εγγραφής.
MultiSelect Θα πρέπει να δηλωθεί η τιμή true έτσι ώστε να υπάρχει η δυνατότητα πολλαπλής επιλογής εγγραφών.
AlternateRowColor Θα πρέπει να δηλωθεί η τιμή true έτσι ώστε να υπάρχει η δυνατότητα διαφοροποίησης του BackColor των εγγραφών που αντιστοιχούν σε ήδη καταχωρημένες γραμμές εργασίας-παραστατικού. Η δήλωση της ιδιότητας αυτής θα πρέπει να γίνει στο RowTemplate που αφορά σε κανονική εγγραφή (Normal RowTemplate).

Περιοχή ομαδοποίησης

Σε αντίθεση με την AddLineForm οθόνη, στην AddLineSFForm οθόνη παρέχεται και η δυνατότητα εμφάνισης περιοχής ομαδοποίησης των δεδομένων. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες της περιοχής ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην αντίστοιχη ενότητα της SFListForm οθόνης.

Data entry οθόνες

Οι Data entry οθόνες καλούνται συνήθως μέσω πλήκτρου ενεργειών επί επιλεγμένης εγγραφής μιας λίστας και χρησιμοποιούνται για την καταχώριση νέας ή τη διαχείριση υπάρχουσας εγγραφής. Η μορφή εμφάνισης αλλά και η λειτουργικότητα μιας Data entry οθόνης διαφοροποιείται σημαντικά ανάλογα με την οντότητα την οποία καλείται να διαχειριστεί.

Master οντότητα (EditForm)

Παράδειγμα SampleEditFormMaster

Η Data entry οθόνη master οντότητας (EditForm) χρησιμοποιείται για τη διαχείριση των στοιχείων εγγραφής που αναφέρεται σε κάποια από τις βασικές οντότητες της ESMobile εφαρμογής οι οποίες είναι:

  • Πρόσωπο, Πελάτης & Διεύθυνση. Για τις οντότητες αυτές υπάρχει δυνατότητα τόσο της καταχώρισης νέας εγγραφής όσο και της προβολής-τροποποίησης ήδη υπάρχουσας.

  • Είδος. Για την οντότητα αυτή υπάρχει μόνο η δυνατότητα προβολής ήδη υπάρχουσας εγγραφής.

Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου EditForm είναι:

Στοιχείο Σχόλιο
Εντολή Απαιτείται η χρήση εντολής τύπου NewFormCreatorCommand ή EditFormCreatorCommand για την καταχώριση ή τη διαχείριση εγγραφής αντίστοιχα.
Φόρμα Για την υλοποίηση της μορφής εμφάνισης της οθόνης απαιτείται η χρήση αρχείου τύπου DetailView.xml.

Στη συνέχεια της ενότητας αυτής, χρησιμοποιώντας συγκεκριμένο παράδειγμα, θα δώσουμε αναλυτικές οδηγίες υλοποίησης οθόνης τύπου EditForm.

sign_warning Προσοχή

Για να εξασφαλιστεί η απρόσκοπτη αναβάθμιση της ESMobile εφαρμογής θα πρέπει, αν το DetailView αρχείο της οθόνης γίνει custom να γίνει απαραίτητα custom και το αρχείο εντολής της οθόνης. Ο κανόνας αυτός ισχύει ακόμα και στην περίπτωση που δεν υπάρχει καμία ανάγκη επέμβασης στο αρχείο της εντολής.

Δεδομένα

Ο ορισμός των δεδομένων της EditForm οθόνης καθώς και η σύνδεση εντολής-φόρμας γίνεται μέσω ανάλογης ρύθμισης των επιμέρους ιδιοτήτων του αρχείου της εντολής. Το αρχείο της εντολής θα πρέπει να βρίσκεται στον υπό-φάκελο Commands της περιοχής ESConfig ή CSConfig. Ιδιαίτερη προσοχή θα πρέπει να δοθεί ώστε το όνομα του αρχείου της εντολής να ταυτίζεται με το όνομα της εντολής μέσα στο αρχείο.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια Data entry οθόνη η οποία να χρησιμοποιηθεί για την προβολή εγγραφής της λίστας «Ανταγωνιστές». Η οθόνη αυτή θέλουμε απλά να εμφανίζει κάποια βασικά στοιχεία του προσώπου χωρίς όμως να υπάρχει δυνατότητα επέμβασης σε αυτά. Έστω επίσης ότι η φόρμα της οθόνης αυτής είναι η SampleEditFormMaster.

Ιδιότητα Σχόλιο
FormID Ο φάκελος της περιοχής ESForms ή CSForms στον οποίο βρίσκεται το σχετιζόμενο με την οθόνη DetailView αρχείο φόρμας, για το παράδειγμα μας δηλαδή ο φάκελος SampleEditFormMaster.
Title Το λεκτικό που εμφανίζεται ως τίτλος της EditForm οθόνης, για το παράδειγμα μας δηλαδή το λεκτικό «Edit Competitor».
Filter Η κολόνα «σύνδεσης» της λίστας δεδομένων με την προς εμφάνιση EditForm οθόνη, για το παράδειγμα μας δηλαδή η κολόνα PersonGID. Θυμίζουμε εδώ ότι, η μεταβλητή [CURRENT] τροφοδοτέίται από από την ιδιότητα CellCource του πλήκτρου κλήσης της Data entry οθόνης.
BaseSelect Το select query που καθορίζει τα δεδομένα προς εμφάνιση. Θα πρέπει να περιέχει όλες τις κολόνες που αναφέρονται στο DetailView αρχείο της φόρμας.
BaseInsert Το insert query που καθορίζει τα δεδομένα προς εισαγωγή. Συμπληρώνεται μόνο στην περίπτωση που η EditForm οθόνη αναφέρεται σε οντότητα για την οποία υπάρχει δυνατότητα καταχώρισης νέας εγγραφής.
BaseUpdate Το update query που καθορίζει τα δεδομένα προς μεταβολή. Συμπληρώνεται μόνο στην περίπτωση που η EditForm οθόνη αναφέρεται σε οντότητα για την οποία υπάρχει δυνατότητα τροποποίησης εγγραφής.
Editable Επέμβαση (true) ή απαγόρευση επέμβασης (false) στα στοιχεία των εγγραφών της οθόνης. Σημειώνουμε εδώ ότι, όταν στο select query της εντολής υπάρχει κολόνα με το όνομα RecordState, η τιμή της ιδιότητας Editable αγνοείται πλήρως και ο έλεγχος επέμβασης μεταφέρεται σε επίπεδο επιλεγμένης εγγραφής. Αν η κολόνα RecordState της εγγραφής έχει την τιμή 1, η επέμβαση τα στοιχεία της απαγορεύεται.

Μορφή εμφάνισης

Ο ορισμός των στοιχείων εμφάνισης της EditForm οθόνης γίνεται μέσω ανάλογης ρύθμισης των επιμέρους ιδιοτήτων του DetaiView αρχείου της φόρμας. Σημειώνουμε εδώ ότι, οι ιδιότητες προς ρύθμιση διαφοροποιούνται ανάλογα με τον τύπο του στοιχείου (Item) που εμφανίζεται. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες ανά τύπο στοιχείου ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Tab page
Type Δηλώνεται η τιμή ItemPageBreak. Χρησιμοποιείται για τον ορισμό σελίδας της οθόνης.
Text Το λεκτικό που εμφανίζεται ως τίτλος της σελίδας.
Name Αφορά αποκλειστικά στη διαδικασία μετάφρασης του προϊόντος (Translation key).
Item-All types
Label Το λεκτικό που εμφανίζεται ως λεζάντα του στοιχείου.
DataMember Η κολόνα της εντολής που αντιστοιχεί στο στοιχείο. Σημειώνουμε εδώ ότι, δεν επιτρέπεται η δήλωση της ίδιας κολόνας σε περισσότερα του ενός στοιχεία.
Name Αφορά αποκλειστικά στη διαδικασία μετάφρασης του προϊόντος (Translation key).
Enabled Επέμβαση (true) ή απαγόρευση επέμβασης (false) στο στοιχείο. Η τιμή της ιδιότητας αυτής λαμβάνεται υπόψη μόνο σε περίπτωση που δεν έχει γίνει αφαίρεση της δυνατότητας επέμβασης σε επίπεδο εντολής.
Visible Εμφάνιση (true) ή απόκρυψη (false) του στοιχείου.
Item-String
Type Δηλώνεται η τιμή TextBox. Εστιάζοντας στο στοιχείο εμφανίζεται το αλφαριθμητικό πληκτρολόγιο.
Tag Ειδικά σε περίπτωση που θέλουμε το αλφαριθμητικό πληκτρολόγιο να εμφανίζεται εστιασμένο στους αριθμούς, δηλώνουμε την τιμή KL:num. Αφορά μόνο σε iOS πλατφόρμα.
MultiLine Εμφάνιση του στοιχείου σε πολλές γραμμές (true) ή μόνο σε μια (false).
edit Για εμφάνιση του στοιχείου Text-1 σε πολλές γραμμές
MOB-ImplementationGuide-5 2-image108.png
DisableKeyboard Αφαίρεση από το στοιχείο της δυνατότητας συμπλήρωσης του μέσω χρήσης πληκτρολογίου (true) ή όχι (false). Αφορά μόνο σε iOS πλατφόρμα.
DisablePaste Αφαίρεση από το στοιχείο της δυνατότητας συμπλήρωσης του μέσω επικόλλησης (true) ή όχι (false). Αφορά μόνο σε iOS πλατφόρμα.
Item-Numeric
Type Δηλώνεται η τιμή ItemNumeric. Εστιάζοντας στο στοιχείο εμφανίζεται το pop up αριθμητικό πληκτρολόγιο.
Item-Date
Type

Δηλώνεται μια από τις τιμές:

  • ItemDateTime. Εστιάζοντας στο στοιχείο εμφανίζεται οθόνη επιλογής ημερομηνίας & ώρας.
  • ItemDate. Εστιάζοντας στο στοιχείο εμφανίζεται οθόνη επιλογής ημερομηνίας.
  • ItemTime. Εστιάζοντας στο στοιχείο εμφανίζεται οθόνη επιλογής ώρας.
Item-Boolean
Type Δηλώνεται η τιμή temCheckBox. Το στοιχείο αποκτά τη μορφή επιλογής (τιμή 1) / από-επιλογής (τιμή 0).
Item-Enumerated
Type Δηλώνεται η τιμή ItemComboBox. Εστιάζοντας στο στοιχείο εμφανίζεται οθόνη με προκαθορισμένη λίστα λεκτικών κάθε τιμή της οποίας αντιστοιχεί σε συγκεκριμένο αριθμό.
StringData Δηλώνεται, υπό μορφή comma separated λίστας, το λεκτικό για τις δυνατές τιμές της λίστας. Η σειρά δήλωσης των λεκτικών υποδηλώνει και τον αριθμό της επιλογής ξεκινώντας πάντα από τον αριθμό 0.
edit Για εμφάνιση του στοιχείου Flag-1 ως boolean και του Flag-2 ως enumerated
MOB-ImplementationGuide-5 2-image108.pngMOB-ImplementationGuide-5 2-image110.png
Item-Drop down
Type Δηλώνεται η τιμή ItemLink. Εστιάζοντας στο στοιχείο εμφανίζεται οθόνη λίστας εγγραφών.
Tag Οι «προδιαγραφές» εμφάνισης της λίστας εγγραφών. Η απαιτούμενη ρύθμιση της ιδιότητας διαφοροποιείται σημαντικά ανάλογα με το πλήθος εγγραφών ή το πλήθος πληροφορίας που θέλουμε να εμφανίζει η λίστα αλλά και από το αν θέλουμε το στοιχείο της EditForm οθόνης να είναι ενεργό ή όχι.
  • Περιορισμένο πλήθος εγγραφών & πληροφορίας (POP)

Συνήθης τέτοια περίπτωση είναι οι zoom πίνακες όπου το πλήθος εγγραφών είναι σχετικά περιορισμένο και από πλευράς πληροφορίας η εμφάνιση των στοιχείων κωδικός & περιγραφή εγγραφής είναι απόλυτα επαρκής. Στην περίπτωση αυτή η λίστα εγγραφών εμφανίζεται ως pop up παράθυρο και η απαιτούμενη ρύθμιση είναι της μορφής

  1. ValueMember#DisplayMember#DataMember#

[POP]select ValueMember,DropDown1,DropDown2 from … όπου

  • ValueMember, η κολόνα της λίστας εγγραφών που θα ανατεθεί στο στοιχείο της EditForm οθόνης.

  • DisplayMember, η κολόνα της λίστας εγγραφών που θα εμφανιστεί στο στοιχείο της EditForm οθόνης.

  • DataMember, ο πίνακας στον οποίο αναφέρεται η λίστα εγγραφών.

  • DropDownMember, οι κολόνες (max 2) που εμφανίζει η λίστα εγγραφών.

edit Για εμφάνιση λίστας εγγραφών του zoom πίνακα «Πίνακας-1» προσώπου
MOB-ImplementationGuide-5 2-image108.pngMOB-ImplementationGuide-5 2-image112.png
  • Εκτεταμένο πλήθος εγγραφών & πληροφορίας (InvForm)

Συνήθης τέτοια περίπτωση είναι οι βασικοί πίνακες όπου είτε το πλήθος εγγραφών είναι εκτεταμένο είτε η εμφάνιση δυο μόνο στοιχείων του πίνακα δεν επαρκεί. Στην περίπτωση αυτή προτείνεται η χρήση οθόνης τύπου InvForm. Η εμφάνιση της λίστας εγγραφών γίνεται σε πλήρη οθόνη και η απαιτούμενη ρύθμιση είναι της μορφής

Command#ValueMember#DisplayMember#DataMember όπου

  • Command, το όνομα της εντολής που αφορά στην InvForm οθόνη της λίστας εγγραφών.

  • ValueMember, η κολόνα της λίστας εγγραφών που θα ανατεθεί στο στοιχείο της EditForm οθόνης.

  • DisplayMember, η κολόνα της λίστας εγγραφών που θα εμφανιστεί στο στοιχείο της EditForm οθόνης.

  • DataMember, πίνακας στον οποίο αναφέρεται η λίστα εγγραφών.

edit Για εμφάνιση λίστας εγγραφών από τον πίνακα «Διευθύνσεις» προσώπου
  • Μη ενεργό στοιχείο (External)

Στην περίπτωση που θέλουμε το στοιχείο της EditForm οθόνης να είναι ανενεργό και η προς εμφάνιση πληροφορία προκύπτει με απευθείας αναφορά σε πεδίο ενός πίνακα, η προτεινόμενη ρύθμιση είναι της μορφής

External#ValueMember#DisplayMember#DataMember όπου

  • ValueMember, η κολόνα της λίστας εγγραφών που θα ανατεθεί στο στοιχείο της EditForm οθόνης.

  • DisplayMember, η κολόνα της λίστας εγγραφών που θα εμφανιστεί στο στοιχείο της EditForm οθόνης.

  • DataMember, πίνακας στον οποίο αναφέρεται η λίστα εγγραφών.

edit Για εμφάνιση της κύριας διεύθυνσης προσώπου χωρίς δυνατότητα επέμβασης στο στοιχείο
MOB-ImplementationGuide-5 2-image114.png
  • Μη ενεργό στοιχείο (SQL)

Στην περίπτωση που θέλουμε το στοιχείο της EditForm οθόνης να είναι ανενεργό και η προς εμφάνιση πληροφορία δεν προκύπτει με απευθείας αναφορά σε πεδίο ενός πίνακα, η προτεινόμενη ρύθμιση είναι της μορφής

SQL#Select query

edit Για εμφάνιση επιπλέον πληροφορίας επί της κύριας διεύθυνσης προσώπου χωρίς δυνατότητα επέμβασης στο στοιχείο
MOB-ImplementationGuide-5 2-image114.png
Item-Photo
Type Δηλώνεται η τιμή Photo. Εστιάζοντας στο στοιχείο γίνεται μεγέθυνση της φωτογραφίας. Ο τύπος στοιχείου είναι διαθέσιμος μόνο σε UWP & Android πλατφόρμα.
PhotoPath
Height, Width Το ύψος-πλάτος του στοιχείου.
NumberOfRows Το πλήθος γραμμών του στοιχείου. Χρησιμοποιείται ως εναλλακτικός ορισμός για το ύψος-πλάτος του στοιχείου και υπερισχύει αυτών.

Advanced λειτουργικότητα

Επέμβαση βάσει συνθήκης

Δίνεται δυνατότητα ορισμού συνθήκης απαγόρευσης επέμβασης στα στοιχεία της EditForm οθόνης. Οι ρυθμίσεις που απαιτούνται για την ενεργοποίηση της δυνατότητας αυτής είναι:

  • Εντολή. Ορισμός, στο select query της εντολής, διακριτής κολόνας με το όνομα RecordState το περιεχόμενο της οποίας περιγράφει τη συνθήκη απαγόρευσης επέμβασης. Η απαγόρευση επέμβασης ισχύει μόνο για τις εγγραφές όπου η συνθήκη επιστρέφει την τιμή 1.
  • Φόρμα. Προσθήκη στο DetailView αρχείο της φόρμας μη ορατού στοιχείου το οποίο να αντιστοιχεί στην κολόνα RecordState.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε η επέμβαση στα στοιχεία της EditForm οθόνης του «Ανταγωνιστή» να επιτρέπεται μόνο όταν η εγγραφή δεν έχει συμπληρωμένο το ΑΦΜ του προσώπου.

MOB-ImplementationGuide-5 2-image116.pngMOB-ImplementationGuide-5 2-image117.png

Προστασία επέμβασης

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

Σύνολο στοιχείων

Ο έλεγχος ενεργοποιείται κατά την κλήση της EditForm οθόνης. Η ρύθμιση του βαθμού προστασίας γίνεται δηλώνοντας την τιμή true στην κατάλληλη, ανάλογα με τον επιθυμητό βαθμό προστασίας, ιδιότητα της εντολής.

Ιδιότητα

Σχόλιο

RequiresExtraPin

Υψηλός βαθμός προστασίας.

Ο κωδικός έγκρισης παρέχεται από εξουσιοδοτημένο χρήστη των κεντρικών. Κατά την κλήση της EditForm οθόνης, ο χρήστης της συσκευής καλείται να καταχωρίσει τον συγκεκριμένο κωδικό έγκρισης.

Graphical user interface, text, application Description automatically generated with medium confidence

RequiresPassword

Χαμηλός βαθμός προστασίας.

Ο κωδικός έγκρισης ταυτίζεται με τον κωδικό πρόσβασης του χρήστη στην ESMobile εφαρμογή. Κατά την κλήση της EditForm οθόνης, ο χρήστης της συσκευής καλείται να καταχωρίσει τον συγκεκριμένο κωδικό πρόσβασης.

Graphical user interface, text, application Description automatically generated

Συγκεκριμένο στοιχείο

Ο έλεγχος ενεργοποιείται εστιάζοντας σε στοιχείο της EditForm οθόνης. Η ρύθμιση του βαθμού προστασίας γίνεται στο DetailView αρχείο της οθόνης και δηλώνοντας στην ιδιότητα Tag του εκάστοτε στοιχείου, το λεκτικό #RequiresExtraPin ή το λεκτικό #RequiresPassword για υψηλό ή χαμηλό βαθμό προστασίας αντίστοιχα Η δυνατότητα είναι διαθέσιμη σε παντός τύπου στοιχεία της EditForm οθόνης. Σημειώνουμε εδώ ότι, ειδικά στην περίπτωση στοιχείου τύπου ItemLink, η δήλωση θα πρέπει να γίνει χωρίς το πρόθεμα του χαρακτήρα #.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε την χαμηλού βαθμού προστασία επέμβασης στα στοιχεία ΑΦΜ & ΔΟΥ προσώπου της EditForm οθόνης του «Ανταγωνιστή».

Υποχρεωτική συμπλήρωση στοιχείου

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

Η ρύθμιση των στοιχείων υποχρεωτικής συμπλήρωσης γίνεται στο DetailView αρχείο της EditForm οθόνης και δηλώνοντας στην ιδιότητα Required του εκάστοτε στοιχείου την τιμή true ή εναλλακτικά τη συνθήκη (με χρήση αριθμητικού πεδίου) η οποία καθιστά υποχρεωτική τη συμπλήρωση του στοιχείου. Η δυνατότητα είναι διαθέσιμη σε παντός τύπου στοιχεία της EditForm οθόνης με εξαίρεση τα αριθμητικά πεδία που εκ φύσεως δεν μπορούν να είναι κενά περιεχομένου.

edit Παράδειγμα-1

Έστω για παράδειγμα ότι θέλουμε το στοιχείο Επωνυμία προσώπου της EditForm οθόνης του «Ανταγωνιστή» να οριστεί ως υποχρεωτικής συμπλήρωσης.

edit Παράδειγμα-2

Έστω για παράδειγμα ότι θέλουμε, όταν το στοιχείο Χαρακτηρισμός-1 της EditForm οθόνης του «Ανταγωνιστή» είναι ενεργοποιημένο, η συμπλήρωση του στοιχείου Κείμενο-1 να είναι υποχρεωτική.

Μενού πλήκτρο (ActionsCommand)

Παράδειγμα SampleEditFormActions

Δίνεται δυνατότητα επέκτασης της EditForm οθόνης με το προκαθορισμένο μενού πλήκτρο Icon Description automatically generated-Ενέργειες. Η επέκταση αυτή έρχεται να καλύψει την ανάγκη άμεσης εκτέλεσης κάποιων ενεργειών μέσα από το περιβάλλον της EditForm οθόνης. Οι επιθυμητές ενέργειες προς εκτέλεση εμφανίζονται ως διακριτές επιλογές του μενού πλήκτρου. Για την αξιοποίηση της δυνατότητας αυτής απαιτούνται οι παρακάτω ρυθμίσεις.

Διαμόρφωση πλήκτρου

Η δήλωση των προς εκτέλεση εντολών γίνεται μέσω χρήσης της ειδικού τύπου εντολής CommandSelector Το ιδιαίτερο χαρακτηριστικό εντολής αυτού του τύπου είναι ότι παρέχει τη δυνατότητα δήλωσης λίστας εντολών (section CommandList). H σύνταξη των επιμέρους εντολών της λίστας θα πρέπει να είναι της μορφής

Σκέλος-1|Σκέλος-2|Σκέλος-3 όπου:

Σκέλος-1: Λεκτικό ενέργειας#Command
Σκέλος-2: #AppIDPlatforfID1#AppIDPlatforfID2
Σκέλος-3:

Οι «προδιαγραφές» εκτέλεσης της εντολής. Η απαιτούμενη ρύθμιση διαφοροποιείται ανάλογα με τον τύπο της προς εκτέλεση εντολής.

  • εντολή τύπου Edit, Current = DataSource
  • εντολή τύπου New, Parent = DataSource

όπου ως DataSource δηλώνεται η κολόνα τροφοδότησης της μεταβλητής [CURRENT] ή [PARENT] αντίστοιχα.

Ενεργοποίηση πλήκτρου
  • H εμφάνιση του πλήκτρου Icon Description automatically generated-Ενέργειες ενεργοποιείται δηλώνοντας το CommandSelector αρχείο στην ιδιότητα ActionsCommand της EditForm εντολής. Η σύνταξη της ιδιότητας θα πρέπει να είναι της μορφής

CommandSelector|DataSource όπου ως DataSource δηλώνεται η κολόνα τροφοδότησης των μεταβλητών [CURRENT] & [PARENT]. Στην περίπτωση που το DataSource δεν είναι κοινό για όλες τις προς εκτέλεση εντολές, η ιδιότητα ActionsCommand θα πρέπει να είναι της μορφής CommandSelector|DataSource1|DataSource2|…

  • Η κολόνα DataSource θα πρέπει οπωσδήποτε να υπάρχει ως διακριτό στοιχείο στο DetailView αρχείο της EditForm οθόνης. Επίσης, το περιεχόμενο των ιδιοτήτων DataMember & Name του στοιχείου αυτού θα πρέπει να ταυτίζεται με το όνομα της DataSource κολόνας.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να δώσουμε στην EditForm οθόνη του «Ανταγωνιστή» τη δυνατότητα άμεσης κλήσης των ενεργειών καταχώρισης νέας Εργασίας και εμφάνισης της λίστας διευθύνσεων του.

MOB-ImplementationGuide-5 2-image122.png

Master-Detail οντότητα (DocForm)

Η Data entry οθόνη master-detail οντότητας (DocForm) χρησιμοποιείται για τη διαχείριση των στοιχείων εγγραφής που αναφέρεται στις οντότητες της ESMobile εφαρμογής Εργασία (Task) και Παραστατικό (Document). Το ιδιαίτερο χαρακτηριστικό οθόνης τύπου DocForm είναι ότι απαρτίζεται από τα παρακάτω μέρη καθένα από τα οποία υλοποιείται σε ανεξάρτητο αρχείο φόρμας.

  • Επικεφαλίδα. Αφορά στο master σκέλος της οντότητας. Αναφέρεται σε βασικά στοιχεία της οντότητας (κωδικός, πρόσωπο, διεύθυνση, κ.λπ.) και η ύπαρξη του είναι υποχρεωτική.

  • Περιεχόμενα. Αφορά στο detail σκέλος της οντότητας. Για την οντότητα Task το σκέλος αυτό μπορεί να αναφέρεται σε είδη καταλόγου, είδη αποθήκης, πρόσωπα ή πόρους και η ύπαρξη του είναι προαιρετική. Για την οντότητα Document αναφέρεται αποκλειστικά σε είδη αποθήκης και η ύπαρξη του είναι υποχρεωτική.

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

information Σημείωση

Οι «αρχές» υλοποίησης οθόνης τύπου DocForm είναι σε γενικές γραμμές ίδιες ανεξάρτητα του αν η οθόνη αφορά στην οντότητα Task ή στην οντότητα Document. Τα σημεία που κατ’ εξαίρεση αφορούν σε συγκεκριμένη οντότητα, επισημαίνονται ανάλογα.

Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου DocForm είναι:

Στοιχείο Σχόλιο
Εντολή Οντότητα Task
Απαιτείται η χρήση εντολής τύπου NewTaskCommand ή EditTaskCommand για την καταχώριση ή τη διαχείριση εγγραφής αντίστοιχα. Επισημαίνουμε εδώ ότι, όταν η καταχώριση νέας εγγραφής καλείται μέσα από το περιβάλλον προσώπου ή σημείου πώλησης-συνάντησης, απαιτείται η χρήση εντολής τύπου NewTaskFromPersonCommand ή NewTaskFromSiteCommand αντίστοιχα.
Οντότητα Document
Απαιτείται η χρήση εντολής τύπου NewDocumentCreatorCommand ή EditDocumentCreatorCommand για την καταχώριση ή τη διαχείριση εγγραφής αντίστοιχα. Επισημαίνουμε εδώ ότι, όταν η καταχώριση νέας εγγραφής καλείται μέσα από το περιβάλλον σημείου πώλησης ή συνάντησης, απαιτείται η χρήση εντολής τύπου NewDocumentFromSiteCommand ή NewDocumentFromAppCommand αντίστοιχα.
Φόρμα
Επικεφαλίδα Για την υλοποίηση του σκέλους Επικεφαλίδα απαιτείται η χρήση αρχείου τύπου DetailView.xml.
Περιεχόμενα Για την υλοποίηση του σκέλους Περιεχόμενα απαιτείται η χρήση αρχείου τύπου AdvancedList.xml. Παράλληλα, για την υλοποίηση οθόνης που εμφανίζει τα πλήρη στοιχεία επιλεγμένης γραμμής, απαιτείται η χρήση αρχείου τύπου DetailView.xml.
Λοιπές περιοχές Για την υλοποίηση του σκέλους Λοιπές περιοχές απαιτείται η χρήση αρχείου τύπου Actions.xml.

Σημειώνουμε εδώ ότι, το σύνολο των αρχείων φόρμας που απαρτίζουν την DocForm οθόνη θα πρέπει υποχρεωτικά να βρίσκεται σε προκαθορισμένο φάκελο της περιοχής ESForms ή CSForms. Συγκεκριμένα, ανά οντότητα, ισχύουν τα παρακάτω.

MOB-ImplementationGuide-5 2-image123.pngΟντότητα Task

Το σύνολο των αρχείων της φόρμας θα πρέπει να βρίσκεται σε υπό-φάκελο της περιοχής GenericTaskForm. Το όνομα του υπό-φάκελου θα πρέπει να ταυτίζεται με το InternationalID του εκάστοτε τύπου εργασίας. Ιδιαίτερη προσοχή θα πρέπει να δοθεί ώστε το όνομα του υπό-φακέλου να δηλώνεται πάντα με πεζούς χαρακτήρες. Στην περιοχή αυτή τοποθετείται το αρχείο του σκέλους Επικεφαλίδα (DetailView.xml) ενώ στον υπό-φάκελο TaskItem τοποθετούνται τα αρχεία του σκέλους Περιεχόμενα (AdvancedList.xml) & Πλήρη στοιχεία γραμμής (DetailView.xml) καθώς και του σκέλους Λοιπές περιοχές (Actions.xml).

Οντότητα Document

MOB-ImplementationGuide-5 2-image124.pngΤο σύνολο των αρχείων της φόρμας θα πρέπει να βρίσκεται σε υπό-φάκελο της περιοχής GenericDocForm. Το όνομα του υπό-φάκελου θα πρέπει να ταυτίζεται με το ID του εκάστοτε τύπου παραστατικού. Στην περιοχή αυτή τοποθετούνται όλα τα αρχεία της φόρμας. Σημειώνουμε εδώ ότι, το αρχείο της οθόνης με τα Πλήρη στοιχεία γραμμής (DetailView_LineItem.xml) είναι διαθέσιμο προς ρύθμιση μόνο σε UWP & Android πλατφόρμα.

Στη συνέχεια της ενότητας αυτής, χρησιμοποιώντας συγκεκριμένα παραδείγματα, θα δώσουμε αναλυτικές οδηγίες υλοποίησης οθόνης τύπου DocForm. Για λόγους απλούστευσης, τα παραδείγματα μας αναφέρονται μόνο σε καταχώριση νέας εγγραφής μέσα από το περιβάλλον σημείου πώλησης.

Δεδομένα

Είναι σημαντικό να επισημάνουμε ότι στην περίπτωση οθόνης τύπου DocForm τα δεδομένα φορτώνονται δυναμικά και δεν προκύπτουν από τη σύνταξη κάποιου select query σε επίπεδο εντολής. Αυτό σημαίνει ότι οι ρυθμίσεις που απαιτούνται σε επίπεδο εντολής είναι αρκετά περιορισμένες καθότι οι διαθέσιμες κολόνες για τα σκέλη Επικεφαλίδα & Περιεχόμενα είναι προκαθορισμένες από την ESMobile εφαρμογή. Το αρχείο της εντολής θα πρέπει να βρίσκεται στον υπό-φάκελο Commands της περιοχής ESConfig ή CSConfig. Ιδιαίτερη προσοχή θα πρέπει να δοθεί ώστε το όνομα του αρχείου της εντολής να ταυτίζεται με το όνομα της εντολής μέσα στο αρχείο. Για τις απαιτούμενες ρυθμίσεις σε επίπεδο εντολής, ανά τύπο DocForm οντότητας, ισχύουν τα παρακάτω.

Οντότητα Task

Παράδειγμα ES.MCH-Μέτρηση

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια Data entry οθόνη η οποία να χρησιμοποιηθεί για την καταχώριση εργασίας τύπου ES.MCH-Μέτρηση. Η οθόνη αυτή θέλουμε να εμφανίζει κάποια βασικά στοιχεία ταυτοποίησης της εργασίας και να παρέχει τη δυνατότητα διαχείρισης γραμμών είδους.

Ιδιότητα Σχόλιο
TaskType Το InternationalID του τύπου εργασίας, για το παράδειγμα μας δηλαδή το es.mch.
FormID Ο φάκελος της περιοχής ESForms ή CSForms στον οποίο βρίσκονται τα σχετιζόμενα με την οθόνη αρχεία φόρμας. Η δήλωση θα πρέπει να είναι της μορφής GenericTaskForm/InternationalID τύπου εργασίας, για το παράδειγμα μας δηλαδή ο φάκελος GenericTaskForm/es.mch. Η δήλωση της ιδιότητας είναι υποχρεωτική μόνο σε περίπτωση που η εργασία δεν έχει το σκέλος Περιεχόμενα (π.χ. εργασία τύπου ES.SAP-Συνάντηση πωλήσεων).
NoDetail Η εργασία έχει και σκέλος Περιεχόμενα (false) ή όχι (true). Η δήλωση της ιδιότητας είναι υποχρεωτική μόνο σε περίπτωση που η εργασία δεν έχει το σκέλος Περιεχόμενα (π.χ. εργασία τύπου ES.SAP-Συνάντηση πωλήσεων). Σημειώνουμε εδώ ότι, η ιδιότητα αυτή αφορά μόνο σε iOS πλατφόρμα. Σε UWP & Android πλατφόρμα, η αντίστοιχη ρύθμιση γίνεται στην ιδιότητα ShowContents του Actions αρχείου της οθόνης.
SaveMenu Οι επιλογές του πλήκτρου αποθήκευσης. Οι κλασικές επιλογές είναι: 1-Αποθήκευση, 2-Ολοκλήρωση, 3-Ακύρωση. Σημειώνουμε εδώ ότι, ο ορισμός των επιλογών αποθήκευσης μπορεί να γίνει και «κεντρικά» μέσω κατάλληλης παραμετροποίησης του εκάστοτε τύπου εργασίας. Στην περίπτωση αυτή, θα πρέπει η ιδιότητα SaveMenu να έχει κενό περιεχόμενο.

Σε DocForm οθόνη για την οντότητα Task, στις διαθέσιμες κολόνες του σκέλους Περιεχόμενα συμπεριλαμβάνονται αφενός όλα τα πεδία του πίνακα «Είδος θέματος» (πίνακας ESTMTaskItem) και αφετέρου τα non store πεδία του παρακάτω πίνακα.

Όνομα κολόνας
PersonName ItemMUCode LastCountedDate ExtStringField1
ItemCode SiteGID LastSoldDate ExtStringField2
ItemDescription TypeGID CountedQty1 ExtStringField3
InventoryItemCode* TypeInternationalID CountedQty2 ExtStringField4
InventoryItemDescription* GroupField CountedQty3 ExtStringField5
InventoryItemCodeDescription* GroupFieldSubTotal1 SoldQty1 ExtDateField1
CatalogueItemCode* GroupFieldSubTotal2 SoldQty2 ExtDateField2
CatalogueItemDescription* Category1Code SoldQty3 ExtDateField3
CatalogueItemCodeDescription* Category2Code ExtNumericField1 ExtDateField4
ItemFamilyCode Category1Description ExtNumericField2 ExtDateField5
ItemGroupCode Category2Description ExtNumericField3 Warning
ItemCategoryCode LastCountedQty ExtNumericField4 WarningMessage
ItemSubcategoryCode LastSoldQty ExtNumericField5 Error
ItemTaskCategoryValueGID LastSoldPrice ErrorMessage
* Οι κολόνες αυτές αποκτούν περιεχόμενο μόνο όταν η γραμμή αναφέρεται σε είδος αποθήκης ή είδος καταλόγου αντίστοιχα. Αν για παράδειγμα θέλουμε η κολόνα «Κωδικός είδους» να έχει περιεχόμενο πάντα, ανεξάρτητα δηλαδή από το αν αναφέρεται σε είδος αποθήκης ή είδος καταλόγου, θα πρέπει να γίνει χρήση του non store πεδίου ItemCode. Aν θέλουμε να έχει περιεχόμενο μόνο όταν αναφέρεται σε είδος αποθήκης θα πρέπει να γίνει χρήση του non store πεδίου InventoryItemCode ενώ αν θέλουμε να έχει περιεχόμενο μόνο όταν αναφέρεται σε είδος καταλόγου θα πρέπει να γίνει χρήση του non store πεδίου CatalogueItemCode.

Οντότητα Document

Παράδειγμα 1-Παραγγελία

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια Data entry οθόνη η οποία να χρησιμοποιηθεί για την καταχώριση παραστατικού τύπου 1-Παραγγελία. Η οθόνη αυτή θέλουμε να εμφανίζει κάποια βασικά στοιχεία ταυτοποίησης του παραστατικού και να παρέχει τη δυνατότητα διαχείρισης γραμμών είδους.

Ιδιότητα Σχόλιο
SiteGID Το σημείο πώλησης στο οποίο εκδίδεται το παραστατικό. Η ιδιότητα αυτή τροφοδοτείται δυναμικά και επομένως το περιεχόμενο της θα πρέπει να είναι κενό. Σημειώνουμε εδώ ότι, τον ίδιο ρόλο ακριβώς παίζουν και οι ιδιότητες PersonGID & AppGID.
DocType Το ID του τύπου παραστατικού, για το παράδειγμα μας δηλαδή το 1. Η δήλωση της ιδιότητας απαιτείται μόνο μόνο όταν ο τύπος παραστατικού δεν προκύπτει από την παραμετροποίηση του πλήκτρου κλήσης της ενέργειας (π.χ. πλήκτρο Doc#NewDocumentfromApp#1)
NullCustomer Το παραστατικό είναι τύπου διακίνησης αποθέματος (true) ή τύπου πώλησης - είσπραξης (false). Η δήλωση της ιδιότητας είναι υποχρεωτική μόνο σε περίπτωση που το παραστατικό είναι τύπου διακίνησης αποθέματος (π.χ. παραστατικό τύπου 13-Δελτίο αποστολής σε υποκατάστημα).

Σε DocForm οθόνη για την οντότητα Document, στις διαθέσιμες κολόνες του σκέλους Περιεχόμενα συμπεριλαμβάνονται αφενός όλα τα πεδία του πίνακα «Γραμμή είδους» (πίνακας ESFISalesDocLineItem) και αφετέρου τα non store πεδία του παρακάτω πίνακα.

Όνομα κολόνας
ItemCode ItemWeightQuantity ExtStringField1 ExtDateField1
ItemDescription ItemWeightMURelation ExtStringField2 ExtDateField2
ItemFamilyCode ItemWeightMUDecimals ExtStringField3 ExtDateField3
ItemGroupCode ItemWeightRelationWithMMU ExtStringField4 ExtDateField4
ItemCategoryCode ItemWeightMUCode ExtStringField5 ExtDateField5
ItemSubcategoryCode ItemVolumeQuantity ExtNumericField1 Warning
ItemMUCode ItemVolumeMURelation ExtNumericField2 WarningMessage
GroupField ItemVolumeMUDecimals ExtNumericField3 Error
fColorCode ItemVolumeRelationWithMMU ExtNumericField4 ErrorMessage
fSizeCode ItemVolumeMUCode ExtNumericField5

Μορφή εμφάνισης / Επικεφαλίδα

Το σκέλος Επικεφαλίδα τοποθετείται πάντα ως η πρώτη σε σειρά σελίδα της DocForm οθόνης. Η υλοποίηση της φόρμας για τη σελίδα αυτή γίνεται με τη χρήση αρχείου τύπου DetailView.xml. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες του DetailView αρχείου ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για οθόνη τύπου EditForm.

Μορφή εμφάνισης / Περιεχόμενα

Το σκέλος Περιεχόμενα τοποθετείται πάντα ως η δεύτερη σε σειρά σελίδα της DocForm οθόνης και έχει πάντα ως τίτλο το λεκτικό «Περιεχόμενα». Η υλοποίηση της φόρμας για τη σελίδα αυτή γίνεται με τη χρήση αρχείου τύπου AdvancedList.xml. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες του AdvancedList αρχείου ισχύουν σε γενικές γραμμές τα ίδια αυτά που περιγράφονται για οθόνη τύπου ListForm. Σημειώνουμε εδώ ότι, το AdvancedList αρχείο του σκέλους Περιεχόμενα που έχει υλοποιηθεί σε iOS πλατφόρμα μπορεί να χρησιμοποιηθεί, με κάποιες minimum επεμβάσεις, και σε UWP & Android πλατφόρμα. Σε περίπτωση όμως που η μορφή εμφάνισης της σελίδας «Περιεχόμενα» δεν μας ικανοποιεί, θα πρέπει να γίνει επέκταση του AdvancedList αρχείου με τις ιδιότητες εκείνες που αφορούν στα ιδιαίτερα χαρακτηριστικά οθόνης τύπου SFListForm.

edit Παράδειγμα

Έστω για παράδειγμα ότι έχουμε υλοποιήσει σε iOS πλατφόρμα μια DocForm οθόνη την οποία θέλουμε να χρησιμοποιήσουμε ως έχει σε UWP & Android πλατφόρμα.

MOB-ImplementationGuide-5 2-image125.pngMOB-ImplementationGuide-5 2-image126.png

Όπως φαίνεται από τις εικόνες του παραδείγματος μας, με τις minimum επεμβάσεις, η μορφή εμφάνισης της οθόνης σε UWP & Android πλατφόρμα προσομοιώνει ικανοποιητικά αυτήν της iOS πλατφόρμας. Οι minimum απαιτούμενες επεμβάσεις είναι:

  • Ρύθμιση της ιδιότητας BackColor τόσο όλης της οθόνης όσο και της περιοχής δεδομένων.
  • Αν η οθόνη έχει περιοχή τίτλων, προσθήκη & ρύθμιση της ιδιότητας HeaderTemplateIndex.
  • Αν η οθόνη έχει περιοχή συνόλων, προσθήκη & ρύθμιση της ιδιότητας FooterTemplateIndex. Επισημαίνουμε εδώ ότι, ειδικά για την οντότητα Document , απαιτείται και ρύθμιση των στοιχείων της περιοχής συνόλων βάσει των προδιαγραφών που ισχύουν σε UWP & Android πλατφόρμα. Οδηγίες για τις απαιτούμενες ρυθμίσεις παρέχονται παρακάτω στην ενότητα «Περιοχή συνόλων».
  • Αν η οθόνη έχει περιοχή ομαδοποίησης, η επέκταση του AdvancedList αρχείου με τις ιδιότητες που αφορούν στα ιδιαίτερα χαρακτηριστικά οθόνης τύπου SFListForm είναι υποχρεωτική.

Στη συνέχεια της ενότητας αυτής, χρησιμοποιώντας συγκεκριμένο παράδειγμα, θα δώσουμε αναλυτικές οδηγίες υλοποίησης του σκέλους Περιεχόμενα μιας DocForm οθόνης. Για λόγους απλούστευσης, το παράδειγμα έχει υλοποιηθεί έτσι ώστε το ίδιο AdvancedList αρχείο να μπορεί να χρησιμοποιηθεί τόσο στην Data entry οθόνη της οντότητας Task (για το παράδειγμα μας δηλαδή, εργασία τύπου ES.MCH-Μέτρηση) όσο και στην Data entry οθόνη της οντότητας Document (για το παράδειγμα μας δηλαδή παραστατικό τύπου 1-Παραγγελία).

Θέση εμφάνισης στοιχείου

Σε οθόνη τύπου DocForm, ο ορισμός της θέσης εμφάνισης στοιχείου του σκέλους Περιεχόμενα διαφοροποιείται ανάλογα με την πλατφόρμα της ESMobile εφαρμογής. Συγκεκριμένα, ανά πλατφόρμα, ισχύουν τα παρακάτω.

  • iOS πλατφόρμα. Ρύθμιση της ιδιότητας Bounds.

  • UWP & Android πλατφόρμα. Προσθήκη των ιδιοτήτων που αφορούν στον ορισμό πλέγματος (ιδιότητες Rows-Columns) και των ιδιοτήτων που φορούν στην τοποθέτηση στοιχείου μέσα στο πλέγμα (ιδιότητες Row, Column, RowSpan, ColumnSpan).

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να επεκτείνουμε το AdvancedList αρχείο της DocForm οθόνης μας έτσι ώστε να έχουμε και σε UWP & Android πλατφόρμα μια «ρυθμιζόμενη» τοποθέτηση των στοιχείων στο χώρο.
Table Description automatically generated

Σημειώνουμε εδώ ότι, μέσω της ιδιότητας ApplicationVisible, παρέχεται και η δυνατότητα εμφάνισης ή απόκρυψης ενός στοιχείου από συγκεκριμένη εφαρμογή-πλατφόρμα. Η σύνταξη της ιδιότητας είναι της μορφής #AppIDPlatforfID1#AppIDPlatforfID2 όπου:

Application

Platform
8 Merchandising 2 iOS
22 Field Service 3 Android
322 xVan 4 UWP
1024 Medical Representative 9 UWP & Android

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να ρυθμίσουμε το AdvancedList αρχείο της DocForm οθόνης μας έτσι ώστε το στοιχείο Κωδικός είδους να εμφανίζεται μόνο σε iOS πλατφόρμα.

Στήλη εικόνας (ImageCell)

Σε οθόνη τύπου DocForm, ο ορισμός στήλης εικόνας του σκέλους Περιεχόμενα γίνεται μέσω χρήσης στοιχείου τύπου ImageCell. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες του στοιχείου ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Type Θα πρέπει το στοιχείο να είναι τύπου ImageCell.
CellSource Η κολόνα συσχέτισης της γραμμής με το όνομα αρχείου εικόνας. Σημειώνουμε εδώ ότι, αν η κολόνα συσχέτισης δεν ανήκει στα πεδία του πίνακα της γραμμής, θα πρέπει να γίνει χρήση του ανάλογου non store πεδίου (π.χ. για συσχέτιση βάσει κωδικού είδους, δηλώνεται το non store πεδίο ItemCode).
ImageFolder Ο φάκελος στον οποίο βρίσκονται τα αρχεία εικόνας. Συμπληρώνεται μόνο στην περίπτωση που θέλουμε να δηλώσουμε άλλο φάκελο από τον «προκαθορισμένο» που είναι ο ProductImages.
ImageExtention Ο τύπος των αρχείων εικόνας. Συμπληρώνεται μόνο στην περίπτωση που θέλουμε να δηλώσουμε άλλον τύπο από τον «προκαθορισμένο». Σημειώνουμε εδώ ότι, ο προκαθορισμένος τύπος ορίζεται στην παράμετρο κινητού ImageFileExtension.
Height, Width Οι διαστάσεις της εικόνας. Συμπληρώνονται μόνο στην περίπτωση που θέλουμε η εικόνα να μην καταλαμβάνει όλο το χώρο που της αναλογεί βάσει των ιδιοτήτων της θέσης εμφάνισης της. Αφορά μόνο σε UWP & Android πλατφόρμα.
Visible Εμφάνιση (true) ή απόκρυψη (false) του στοιχείου.
Selectable Δηλώνοντας την τιμή true, εστιάζοντας στην εικόνα γίνεται αυτόματα μεγέθυνση της. Αφορά μόνο σε iOS πλατφόρμα.

edit Παράδειγμα-1

Έστω για παράδειγμα ότι θέλουμε στη στήλη εικόνα της DocForm οθόνης μας να εμφανίζεται η εικόνα του είδους της γραμμής.
Graphical user interface, application Description automatically generated

edit Παράδειγμα-2

Έστω για παράδειγμα ότι θέλουμε στη στήλη εικόνα της DocForm οθόνης μας να εμφανίζεται το λογότυπο του κατασκευαστή του είδους της γραμμής. Έστω επίσης, ότι έχουμε φροντίσει, μέσω της λειτουργικότητας του Assign_CellSource, για την ανάθεση της πληροφορίας του κατασκευαστή στο πεδίο StringField1 της γραμμής.
MOB-ImplementationGuide-5 2-image131.png

Standard πλήκτρα ενεργειών

Σε οθόνη τύπου DocForm ο ορισμός πλήκτρων ενεργειών επί του σκέλους Περιεχόμενα γίνεται μέσω χρήσης στοιχείου τύπου ButtonCell όπου στην ιδιότητα ImageDefault δηλώνεται το εικονίδιο του πλήκτρου και στην ιδιότητα Name δηλώνεται η προς εκτέλεση εντολή. Για την προσθήκη των standard πλήκτρων ενεργειών απαιτείται δήλωση στοιχείου με τις παρακάτω, ανά πλήκτρο, ιδιότητες.

Πλήκτρο Name Σχόλιο
Icon Description automatically generated PlusButton Αύξηση ποσότητας γραμμής.
Icon Description automatically generated MinusButton Μείωση ποσότητας γραμμής.
Icon Description automatically generated AnalysisButton Εμφάνιση οθόνης δήλωσης ποσότητας γραμμής ανά διάσταση. Διαθέσιμο μόνο στην οντότητα Document.
Icon Description automatically generated ISUDButton Εμφάνιση οθόνης με τα πλήρη στοιχεία γραμμής από την οποία δίνεται η δυνατότητα επέμβασης στα επιμέρους πεδία της γραμμής.
Icon Description automatically generated DeleteButton Διαγραφή γραμμής.
Icon Description automatically generated BalanceButton Εμφάνιση οθόνης, σε απευθείας σύνδεση με τα κεντρικά, που παρέχει πληροφόρηση για τη συνολική διαθεσιμότητα του είδους. Όταν η ποσότητα γραμμής υπερβαίνει το τρέχον υπόλοιπο υποκαταστήματος, το συγκεκριμένο εικονίδιο «κοκινίζει». Απαιτείτα και δήλωση, στην ιδιότητα CellSource, της προκαθορισμένης τιμής ItemCurrentBalanceBranchPositive.
Icon Description automatically generated GiftButton Ανάθεση έκπτωσης 100% στο πεδίο έκπτωσης της γραμμής που έχει δηλωθεί στην παράμετρο κινητού Doc_GiftDiscount_Field. Διαθέσιμο μόνο στην οντότητα Document.
Logo Description automatically generated with low confidence ItemMUCode Εμφάνιση οθόνης επιλογής μονάδας μέτρησης.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να προσθέσουμε στο σκέλος Περιεχόμενα της DocForm οθόνη μας το πλήκτρο της διαγραφής γραμμής.
Graphical user interface, application, table Description automatically generated

Διαμόρφωση επιλεγμένης γραμμής

Σε οθόνη τύπου DocForm υπάρχει δυνατότητα δήλωσης δυο RowTemplates για την περιοχή δεδομένων. Η δυνατότητα αυτή έρχεται να καλύψει την ανάγκη διαφοροποίησης των στοιχείων και της μορφής εμφάνισης μεταξύ κανονικής (Normal RowTemplate) και επιλεγμένης (Selected RowTemplate) γραμμής. Οι «αρχές» υλοποίησης της περιοχής Selected RowTemplate διαφοροποιούνται ανάλογα με την οντότητα στην οποία αναφέρεται η DocForm οθόνη.

  • Οντότητα Task. Η δήλωση διακριτού Selected RowTemplate για την επιλεγμένη γραμμή δεν υποστηρίζεται. Παρόλα αυτά θα πρέπει, στο AdvancedList αρχείο της οθόνης, να υπάρχει η ιδιότητα SelectedTemplateIndex η οποία και θα πρέπει να έχει την τιμή 0.

  • Οντότητα Document. Η δήλωση διακριτού Selected RowTemplate για την επιλεγμένη γραμμή είναι υποχρεωτική ακόμα και αν τα στοιχεία αυτής ταυτίζονται πλήρως με αυτά της κανονικής γραμμής. Υποχρεωτικό επίσης είναι, στο AdvancedList αρχείο της οθόνης, να υπάρχει η ιδιότητα SelectedTemplateIndex η οποία και θα πρέπει να έχει την τιμή του α/α του Selected RowTemplate. Ειδικά σε iOS πλατφόρμα, ως Selected RowTemplate θα πρέπει υποχρεωτικά να οριστεί αυτό με τον α/α 1.

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

Ιδιότητες μορφοποίησης στοιχείου

Για τις ιδιότητες μορφοποίησης στοιχείου του σκέλους Περιεχόμενα της DocForm οθόνης, ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Alignment Η στοίχιση του περιεχομένου του στοιχείου με διαθέσιμες τιμές: Left, Right & Center. Ειδικά σε UWP & Android πλατφόρμα, μπορεί να γίνει και χρήση των τιμών UpperLeft, LowerLeft, UpperRight, LowerRight & UpperCenter, LowerCenter.
LineBreakMode H συμπεριφορά σε περίπτωση που το περιεχόμενο του στοιχείου υπερβαίνει τα όρια της θέσης του με διαθέσιμες τιμές: 0-Do not wrap, 1-Wrap at word boundaries, 2- Wrap at character boundaries, 3-Truncate the head of text, 4-Truncate the tail of text & 5-Truncate the middle of text.
FontSize Το μέγεθος της γραμματοσειράς.
FontStyle Το στυλ της γραμματοσειράς με διαθέσιμες τιμές: Regular, Bold & Italic.
ForeColor Το χρώμα της γραμματοσειράς με διαθέσιμες τιμές: Black, Blue, Brown, Cyan, Gray, Darkgray, Green, Lightgray, Magenta, Orange, Purple, Red, White & Yellow. Ειδικά σε UWP & Android πλατφόρμα, ο ορισμός χρώματος μπορεί να γίνει και με χρήση HEX αριθμού χρώματος.
BackColor Το χρώμα του φόντου με διαθέσιμες τιμές: Black, Blue, Brown, Gray, Green, Orange, Red, White & Yellow. Ειδικά σε UWP & Android πλατφόρμα, ο ορισμός χρώματος μπορεί να γίνει και με χρήση HEX αριθμού χρώματος.
Border Οι πλευρές του πλέγματος με διαθέσιμες τιμές: All, Bottom, Left, Right & Top.
BorderColor Το χρώμα του πλέγματος με διαθέσιμες τιμές: Black, Blue, Brown, Gray, Green, Orange, Red, White & Yellow. Ειδικά σε UWP & Android πλατφόρμα, ο ορισμός χρώματος μπορεί να γίνει και με χρήση HEX αριθμού χρώματος.
FormatString Η μορφή εμφάνισης στοιχείου τύπου αριθμός ή στοιχείου τύπου ημερομηνία. Κάποιες κλασικές επιλογές, ανά περίπτωση, είναι:
Ορισμός Αποτέλεσμα Ορισμός Αποτέλεσμα
{0:G} 16325,62 {0:ddd d/M HH:mm} Sun 9/7 00:33
{0:C} 16.325,62 € {0: dd/MM/yyyy} 09/07/2022
{0:N} ή {0:#,#.00} 16.325,62 {0: HH:mm} 00:33
{0:P} ή {0:0.00\%} 163,26 %
{0:#,0} 16326

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να προσθέσουμε στο σκέλος Περιεχόμενα της DocForm οθόνη μας το πεδίο Ημερομηνία-1 της γραμμής. Έστω επίσης ότι θέλουμε το στοιχείο να έχει γκρι πλέγμα και να εμφανίζεται ως ημερομηνία χωρίς ώρα.
Graphical user interface, application, table Description automatically generated

Ιδιότητες επεξεργασίας στοιχείου (LineEditing)

Σε οθόνη τύπου DocForm παρέχεται και η δυνατότητα της επεξεργασίας στοιχείου σε επίπεδο γραμμής (LineEditing). Οι ιδιότητες που σχετίζονται με τη λειτουργικότητα αυτή είναι συγκεκριμένες και η ρύθμιση τους διαφοροποιείται ανάλογα με τον τύπο του στοιχείου στον οποίο θέλουμε να δώσουμε (Cell-Editable) ή όχι (Cell-Not Editable) τη δυνατότητα του LineEditing. Οι διαθέσιμοι τύποι στοιχείου είναι: String, Date, Numeric, Boolean & Zoom.

Cell-Editable
Ιδιότητα Τύπος Σχόλιο
Type All Types Θα πρέπει να δηλωθεί η τιμή TextCell.
Zoom Ειδικά σε iOS πλατφόρμα και για την οντότητα Document, θα πρέπει να δηλωθεί η τιμή ButtonCell.
Selectable All Types Θα πρέπει να δηλωθεί η τιμή true.
DesignName String Θα πρέπει να δηλωθεί η τιμή string. Εστιάζοντας στο στοιχείο εμφανίζεται το αλφαριθμητικό πληκτρολόγιο.
Date Θα πρέπει να δηλωθεί η τιμή datetime ή date. Εστιάζοντας στο στοιχείο εμφανίζεται οθόνη επιλογής ημερομηνίας-ώρας ή ημερομηνίας αντίστοιχα.
Numeric Η ιδιότητα θα πρέπει να έχει κενό περιεχόμενο. Με τον τρόπο αυτό, εστιάζοντας στο στοιχείο εμφανίζεται το pop up αριθμητικό πληκτρολόγιο.
Boolean Θα πρέπει να δηλωθεί η τιμή bool. Το στοιχείο αποκτά τη μορφή επιλογής (τιμή 1) / από-επιλογής (τιμή 0).
Zoom

Εστιάζοντας στο στοιχείο εμφανίζεται λίστα επιλογής τιμής. Η δήλωση που απαιτείται είναι της μορφής:

zoom=Command#ValueMember#CellSource όπου

  • Command, το όνομα της InvForm εντολής που αφορά στη λίστα επιλογής προς εμφάνιση.

  • ValueMember, η κολόνα της λίστας επιλογής που θα ανατεθεί στο στοιχείο του σκέλους Περιεχόμενα.

  • CellSource, το στοιχείο του σκέλους Περιεχόμενα στο οποίο θα γίνει η ανάθεση.

Σημειώνουμε εδώ ότι, απαιτείται και προσθήκη, στο select query της InvForm εντολής, κολόνας τύπου Assign_CellSource όπου ως τιμή προς ανάθεση δηλώνεται το ValueMember και ως στοιχείο ανάθεσης το CellSource.

BindType All Types Η ιδιότητα θα πρέπει να έχει κενό περιεχόμενο. Αφορά μόνο σε iOS πλατφόρμα.
Numeric Θα πρέπει να δηλωθεί η τιμή label. Αφορά μόνο σε iOS πλατφόρμα.
DisableKeyboard, DisablePaste String Αν για οποιονδήποτε λόγο επιθυμούμε την αφαίρεση της δυνατότητας συμπλήρωσης του στοιχείου μέσω πληκτρολογίου ή μέσω επικόλλησης, θα πρέπει στις ιδιότητες αυτές να δηλωθεί η τιμή true (π.χ. επιθυμούμε τη συμπλήρωση μόνο μέσω barcode scanning). Αφορά μόνο σε iOS πλατφόρμα.
Cell-Not Editable
Ιδιότητα Τύπος Σχόλιο
Type All Types Δηλώνεται η τιμή TextCell.
DesignName All Types Ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για το Cell-Editable. Σημειώνουμε εδώ ότι, για Cell-Not Editable η δήλωση της ιδιότητας αυτής είναι προαιρετική.
Selectable All Types Δηλώνεται η τιμή false.
BindType All Types Θα πρέπει να δηλωθεί η τιμή label. Αφορά μόνο σε iOS πλατφόρμα.

edit Παράδειγμα-1

Έστω για παράδειγμα ότι θέλουμε να προσθέσουμε στο σκέλος Περιεχόμενα της DocForm οθόνη μας το πεδίο Αριθμός-1 της γραμμής το οποίο να έχει τη μορφή επιλογής / από-επιλογής και να είναι Editable.
Graphical user interface, application Description automatically generated

edit Παράδειγμα-2

Έστω για παράδειγμα ότι θέλουμε να προσθέσουμε στο σκέλος Περιεχόμενα της DocForm οθόνη μας το πεδίο Κείμενο-2 της γραμμής το οποίο να έχει τη μορφή λίστας επιλογής τιμής από τον Πίνακα-1 είδους (πίνακας ESFIZItemTable1) και να είναι Editable.
MOB-ImplementationGuide-5 2-image138.pngMOB-ImplementationGuide-5 2-image139.png

Όπως αναφέρθηκε και παραπάνω, για την iOS πλατφόρμα το στοιχείο τύπου zoom θα πρέπει να δηλωθεί ως ButtonCell ενώ για την UWP & Android πλατφόρμα θα πρέπει να δηλωθεί ως TextCell. Η ιδιαιτερότητα αυτή μπορεί να αντιμετωπιστεί μέσω της δήλωσης δυο στοιχείων και χρήσης της ιδιότητας ApplicationVisible.

Μορφοποίηση βάσει συνθήκης (Binding)

Σε οθόνη τύπου DocForm παρέχεται και η δυνατότητα διαφοροποίησης βάσει συνθήκης (Binding) κάποιων από τις ιδιότητες μορφοποίησης του σκέλους Περιεχόμενα. Συγκεκριμένα, χρήση του Binding μπορεί να γίνει στις ιδιότητες BackColor, ForeColor, BorderColor & Visible στοιχείου τύπου TextCell. Οι τύποι συνθήκης που μπορούν να χρησιμοποιηθούν κατά τη σύνταξη του Binding είναι: GreaterThan, LessThan, Equals, NotNull, Compound, IsOddIndex & AlwaysTrue. Για την αξιοποίησης της δυνατότητας αυτής απαιτείται:

  • Ο ορισμός σε ειδική περιοχή (Binding) του AdvancedList αρχείου του σκέλους Περιεχόμενα, της Binding συνθήκης.
  • Η κλήση της Binding συνθήκης είτε σε επίπεδο περιοχής (RowTemplate) είτε σε επίπεδο στοιχείου (Cell). Η δήλωση θα πρέπει να είναι της μορφής {Binding Name} όπου Name το όνομα της Binding συνθήκης. Σημειώνουμε εδώ ότι, στην περίπτωση της κλήσης της συνθήκης σε επίπεδο Cell, ιδιαίτερη προσοχή θα πρέπει να δοθεί και στη σωστή ρύθμιση των ιδιοτήτων που αφορούν στο LineEditing δηλαδή τις ιδιότητες DesignName, Selectable & BindType.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε τη μορφοποίηση του σκέλους Περιεχόμενα της DocForm οθόνη μας βάσει των παρακάτω προδιαγραφών.

  1. Εναλλαγή του BackColor του Normal RowTemplate για μονό-ζυγό αριθμό γραμμής

  2. Απόκρυψη του στοιχείου «Περιγραφή είδους» όταν η ποσότητα γραμμής είναι < 3. Το στοιχείο αυτό θα πρέπει να είναι Not Editable.

  3. Αλλαγή του ForeColor των στοιχείων «Κωδικός είδους» & «Ποσότητα» όταν η ποσότητα γραμμής είναι < 3. Το στοιχείο «Κωδικός είδους» θα πρέπει να είναι Not Editable ενώ το στοιχείο «Ποσότητα» θα πρέπει να είναι Editable.

Ορισμός συνθήκης Κλήση συνθήκης
1
2
3
Graphical user interface, table Description automatically generated

information Σημείωση

Ειδικά σε UWP & Android πλατφόρμα, και για την περίπτωση που είτε η Binding συνθήκη είναι αρκετά εξειδικευμένη είτε επιθυμούμε την κλήση της σε στοιχείο τύπου ImageCell ή ButtonCell, δίνεται η δυνατότητα ορισμού της Binding συνθήκης μέσω χρήσης του εργαλείου Business Rules.

Περιοχή τίτλων

Σε οθόνη τύπου DocForm παρέχεται και η δυνατότητα εμφάνισης περιοχής τίτλων (Header RowTemplate). Ο ορισμός της περιοχής αυτής γίνεται στο AdvancedList αρχείο της οθόνης και είναι προαιρετικός ενώ ο τρόπος εμφάνισης-απόκρυψης της περιοχής διαφοροποιείται ανάλογα με την πλατφόρμα της ESMobile εφαρμογής. Συγκεκριμένα, ανά πλατφόρμα, ισχύουν τα παρακάτω.

  • iOS πλατφόρμα. Η δήλωση διακριτού Header RowTemplate είναι υποχρεωτική. Υποχρεωτικό επίσης είναι, ως Header RowTemplate να οριστεί αυτό με τον α/α 3. Για την εμφάνιση της περιοχής θα πρέπει στην ιδιότητα TemplateIndex του section HeaderRow να δηλωθεί ο α/α του Header RowTemplate. Για την απόκρυψη της αρκεί, στην ιδιότητα Height της περιοχής να δηλωθεί η τιμή 0.

  • UWP & Android πλατφόρμα. Η δήλωση διακριτού Header RowTemplate είναι προαιρετική. Για την εμφάνιση της περιοχής θα πρέπει στην ιδιότητα HeaderTemplateIndex να δηλωθεί ο α/α του Header RowTemplate. Για την απόκρυψη της αρκεί η ιδιότητα αυτή να έχει κενό περιεχόμενο. Προτείνεται, για λόγους συμβατότητας με την iOS πλατφόρμα, ως Header RowTemplate να ορίζεται αυτό με τον α/α 3.

Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες της περιοχής τίτλων ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην αντίστοιχη ενότητα της ListForm οθόνης συμπεριλαμβανομένων βέβαια -για UWP & Android πλατφόρμα- και των ιδιαίτερων χαρακτηριστικών οθόνης τύπου SFListForm.

Περιοχή ομαδοποίησης

Σε οθόνη τύπου DocForm παρέχεται και η δυνατότητα εμφάνισης περιοχής ομαδοποίησης των γραμμών (SectionHeader RowTemplate). Η δήλωση του κριτηρίου ομαδοποίησης για την οντότητα Task γίνεται σε επίπεδο τύπου εργασίας, ενώ για την οντότητα Document γίνεται μέσω ρύθμισης της παραμέτρου κινητού Doc_GroupField.

information Σημείωση

Ως κριτήριο ομαδοποίησης μπορεί να δηλωθεί οποιοδήποτε από τα πεδία της γραμμής εργασίας-παραστατικού. Παράλληλα όμως, μέσω χρήσης του εργαλείου Business Rules, δίνεται και η δυνατότητα δήλωσης πεδίου συνδεόμενης οντότητας (βλέπε ενότητα Ιδέες & Λύσεις/ Οθόνη τύπου DocForm/ Ομαδοποίηση γραμμών)

Στις διαθέσιμες προς εμφάνιση στην περιοχή ομαδοποίησης πληροφορίες συμπεριλαμβάνονται οι προκαθορισμένες κολόνες του παρακάτω πίνακα. Ειδικά για την οντότητα Task συμπεριλαμβάνονται και όλα τα ελεύθερα οριζόμενα αριθμητικά πεδία της γραμμής εργασίας.

Όνομα κολόνας Πληρορφορία Όνομα κολόνας Πληρορφορία
Οντότητα Task Οντότητα Document
GroupField Κριτήριο ομαδοποίησης GroupField Κριτήριο ομαδοποίησης
GroupFieldSubTotal1 Ποσότητα LineSubTotal Πλήθος γραμμών
GroupFieldSubTotal2 Ποσότητα προς παραγγελία QtySubTotal Ποσότητα
NetSubTotal Καθαρή αξία
VatSubTotal Αξία ΦΠΑ
DicountSubTotal Συνολική αξία έκπτωσης
TotalSubTotal Συνολική αξία
DiscTotalPercSubTotal Μέσο % έκπτωσης
WeightSubTotal Βάρος
VolumeSubTotal Όγκος

Ο ορισμός της περιοχής αυτής γίνεται στο AdvancedList αρχείο της οθόνης και είναι προαιρετικός ενώ ο τρόπος εμφάνισης-απόκρυψης της περιοχής διαφοροποιείται ανάλογα με την πλατφόρμα της ESMobile εφαρμογής. Συγκεκριμένα, ανά πλατφόρμα, ισχύουν τα παρακάτω.

  • iOS πλατφόρμα. Από τη στιγμή που έχει οριστεί στη βάση δεδομένων πεδίο ομαδοποίησης, η δήλωση διακριτού SectionHeader RowTemplate είναι υποχρεωτική. Η εμφάνιση της περιοχής γίνεται αυτόματα ενώ για την απόκρυψη της αρκεί, στην ιδιότητα Height της περιοχής να δηλωθεί η τιμή 0.

  • UWP & Android πλατφόρμα. Από τη στιγμή που έχει οριστεί στη βάση δεδομένων πεδίο ομαδοποίησης, γίνεται αυτόματα και εμφάνιση της περιοχής με την προκαθορισμένη της μορφή. Σε περίπτωση που επιθυμούμε διαφοροποίηση της προκαθορισμένης μορφής εμφάνισης, απαιτείται και η δήλωση διακριτού SectionHeader RowTemplate. Για την απόκρυψη της περιοχής αρκεί, στην ιδιότητα Height να δηλωθεί η τιμή 0.

Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες σε επίπεδο περιοχής (RowTemplate) και σε επίπεδο στοιχείου (Cell) ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
RowTemplate
Name Θα πρέπει υποχρεωτικά να έχει το λεκτικό sectionheader.
Height Το ύψος της περιοχής.
BackColor Η δήλωση γίνεται με χρήση του RGB κωδικού χρώματος και θα πρέπει να είναι της μορφής #0,0,0. Ειδικά σε UWP & Android πλατφόρμα μπορεί να γίνει και χρήση του HEX αριθμού χρώματος.
Cell
Type To SectionHeader RowTemplate υποστηρίζει μόνο στοιχεία τύπου TextCell.
CellSource
  • Για τις προκαθορισμένες κολόνες θα πρέπει να δηλώνεται το όνομα κολόνας όπως αυτό αναφέρεται στον παραπάνω πίνακα.
  • Για τα ελεύθερα οριζόμενα αριθμητικά πεδία της γραμμής δηλώνεται το όνομα του πεδίου στη βάση δεδομένων. Ειδικά σε UWP & Android πλατφόρμα, δίνεται και η δυνατότητα εμφάνισης της πληροφορίας μέσος όρος (function AVERAGE) και σύνολο (function: SUM) για οποιοδήποτε από τα αριθμητικά πεδία της γραμμής εργασίας-παραστατικού.

Σημειώνουμε εδώ ότι μέσω του πλήκτρου A picture containing qr code Description automatically generated-Σύμπτυξη, παρέχεται η δυνατότητα ανάπτυξης-σύμπτυξης όλων των ομάδων. Ειδικά σε UWP & Android πλατφόρμα παρέχεται και η δυνατότητα, εστιάζοντας στην περιοχή μιας ομάδας, για ανάπτυξη-σύμπτυξη συγκεκριμένης ομάδας.

Περιοχή συνόλων

Σε οθόνη τύπου DocForm παρέχεται και η δυνατότητα εμφάνισης περιοχής συνόλων (Footer RowTemplate) επί των γραμμών. Στις διαθέσιμες προς εμφάνιση στην περιοχή συνόλων πληροφορίες συμπεριλαμβάνονται αφενός όλα τα ελεύθερα οριζόμενα αριθμητικά πεδία επικεφαλίδας & γραμμής και αφετέρου οι προκαθορισμένες κολόνες του παρακάτω πίνακα.

Όνομα κολόνας Πληρορφορία Όνομα κολόνας Πληρορφορία
Οντότητα Task Οντότητα Document
LineTotal Πλήθος γραμμών LineTotal Πλήθος γραμμών
QtyTotal Ποσότητα QtyTotal Ποσότητα
GiftTotal Ποσότητα δώρων

(iOS) NetTotal

(UWP & Android) NetValue

Καθαρή αξία

(iOS) VatTotal

(UWP & Android) VatValue

Αξία ΦΠΑ

(iOS) Total

(UWP & Android) TotalValue

Συνολική αξία

(iOS) DiscTotal

(UWP & Android) DiscValue

Συνολική αξία έκπτωσης
DiscTotalPerc Μέσο % έκπτωσης
Budget Στόχος τζίρου συνάντησης
MinValue Ελάχιστη αξία παραστατικού
TradeAccountAvgCollectionTime Μέσος χρόνος αποπληρωμής

Ο ορισμός της περιοχής αυτής γίνεται στο AdvancedList αρχείο της οθόνης και είναι προαιρετικός ενώ ο τρόπος εμφάνισης-απόκρυψης της περιοχής διαφοροποιείται ανάλογα με την πλατφόρμα της ESMobile εφαρμογής. Συγκεκριμένα, ανά πλατφόρμα, ισχύουν τα παρακάτω.

  • iOS πλατφόρμα. Η δήλωση διακριτού Footer RowTemplate είναι υποχρεωτική. Υποχρεωτικό επίσης είναι, ως Footer RowTemplate να οριστεί αυτό με τον α/α 2. Για την εμφάνιση της περιοχής θα πρέπει στην ιδιότητα TemplateIndex του section FooterRow να δηλωθεί ο α/α του Footer RowTemplate. Για την απόκρυψη της αρκεί, στην ιδιότητα Height της περιοχής να δηλωθεί η τιμή 0.

  • UWP & Android πλατφόρμα. Η δήλωση διακριτού Footer RowTemplate είναι προαιρετική. Για την εμφάνιση της περιοχής θα πρέπει στην ιδιότητα FooterTemplateIndex να δηλωθεί ο α/α του Footer RowTemplate. Για την απόκρυψη της αρκεί η ιδιότητα αυτή να έχει κενό περιεχόμενο. Προτείνεται, για λόγους συμβατότητας με την iOS πλατφόρμα, ως Footer RowTemplate να ορίζεται αυτό με τον α/α 2.

Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες σε επίπεδο περιοχής (RowTemplate) και σε επίπεδο στοιχείου (Cell) ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
RowTemplate
Height Το ύψος της περιοχής.
BackColor Η δήλωση γίνεται με χρήση του RGB κωδικού χρώματος που θα πρέπει να είναι της μορφής #0,0,0 ή με χρήση του HEX αριθμού χρώματος. Αφορά μόνο σε UWP & Android πλατφόρμα.
Cell-iOS πλατφόρμα
Type To SectionHeader RowTemplate υποστηρίζει μόνο στοιχεία τύπου TextCell.
CellSource Χρησιμοποιείται μόνο για πληροφορίες της επικεφαλίδας. Δηλώνεται το όνομα του πεδίου στη βάση δεδομένων.
Name

Χρησιμοποιείται για τις προκαθορισμένες κολόνες και για τα πεδία της γραμμής. Ο απαιτούμενος τρόπος δήλωσης, ανά περίπτωση, είναι:

  • Προκαθορισμένες κολόνες. Δηλώνεται το όνομα κολόνας όπως αυτό αναφέρεται στον παραπάνω πίνακα.
  • Πεδία γραμμής. Η δήλωση θα πρέπει να είναι της μορφής Total_FieldName όπου FieldName το όνομα του πεδίου στη βάση δεδομένων.
Cell-UWP & Android πλατφόρμα
Type To SectionHeader RowTemplate υποστηρίζει μόνο στοιχεία τύπου TextCell.
CellSource

Χρησιμοποιείται για όλες τις διαθέσιμες πληροφορίες. Ο απαιτούμενος τρόπος δήλωσης, ανά περίπτωση, είναι:

  • Προκαθορισμένες κολόνες. Δηλώνεται το όνομα κολόνας όπως αυτό αναφέρεται στον παραπάνω πίνακα.
  • Πεδία επικεφαλίδας. Δηλώνεται το όνομα του πεδίου στη βάση δεδομένων.
  • Πεδία γραμμής. Η δήλωση θα πρέπει να είναι της μορφής NumFieldxTotal όπου Fieldx το όνομα του UDF αριθμητικού πεδίου στη βάση δεδομένων.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να προσθέσουμε στην DocForm οθόνη μας την περιοχή συνόλων η οποία να εμφανίζει τις παρακάτω πληροφορίες. Έστω επίσης ότι θέλουμε η ρύθμιση των στοιχείων να γίνει έτσι ώστε το AdvancedList αρχείο της φόρμας να είναι συμβατό με όλες τις πλατφόρμες της ESMobile εφαρμογής.

  1. Το πλήθος των γραμμών

  2. Το σύνολο του πεδίου «Ποσότητα» γραμμής

  3. Το ποσό που έχει καταχωρηθεί στο πεδίο «Αριθμός-1» της επικεφαλίδας

  4. Το σύνολο του πεδίου «Αριθμός-1» γραμμής

Ορισμός στοιχείων
1 3
2 4
MOB-ImplementationGuide-5 2-image143.png

Μορφή εμφάνισης / Λοιπές περιοχές

Η υλοποίηση της φόρμας που αντιστοιχεί στο σκέλος Λοιπές περιοχές γίνεται με τη χρήση αρχείου τύπου Actions.xml. Οι λοιπές περιοχές που απαρτίζουν μια DocForm οθόνη είναι: οι επιπλέον Σελίδες (section Tabs), τα Πλήκτρα ενεργειών (section Actions), τα Μενού πλήκτρα Icon Description automatically generated-Ενέργειες (section ToolbarActions) & Icon Description automatically generated-Online ενέργειες (section ToolbarOnLineActions) και τέλος τα πλήκτρα A black rectangle with a black background Description automatically generated with low confidence-Ταξινόμηση (section SortBy) & A black rectangle with a black background Description automatically generated with low confidence-Διατάξεις (section Layouts). Τα στοιχεία που τοποθετούνται στις περιοχές αυτές, με εξαίρεση τα πλήκτρα Ταξινόμηση & Διατάξεις, έχουν ως προαπαιτούμενο τον ορισμό της ανάλογης ανά περίπτωση προς εκτέλεση εντολής. Στην ενότητα αυτή θα αναφερθούμε επιγραμματικά αλλά και χρησιμοποιώντας συγκεκριμένο παράδειγμα στον τροπο ορισμού και τις διαθέσιμες ιδιότητες των περιοχών του Actions αρχείου της DocForm οθόνης.

Επιπλέον σελίδες (DocTab)

Ο ορισμός των στοιχείων που αφορούν σε επιπλέον σελίδες της DocForm οθόνης γίνεται στο section Tabs του Actions αρχείου της οθόνης. Στο section αυτό τοποθετούνται συνήθως ενέργειες που αφορούν στην εμφάνιση πληροφορίας σχετικής με το «τρέχον πρόσωπο» (οντότητα ESGOPerson) ή τον «τρέχοντα πελάτη» (οντότητα ESFITradeAccount).

Οι επιπλέον σελίδες τοποθετούνται αμέσως μετά τη σελίδα «Περιεχόμενα» και με τη σειρά που έχει γίνει η δήλωση τους στο Actions αρχείο. Σημειώνουμε εδώ ότι, η σελίδα «Περιεχόμενα» αποτελεί πάντα την «προτεινόμενη» σελίδα της DocForm οθόνης. Για αλλαγή της συμπεριφοράς αυτής αρκεί, στην ιδιότητα DefaultTab του Actions αρχείου, να δηλωθεί ο α/α της σελίδας που θέλουμε να λειτουργήσει ως «προτεινόμενη».

sign_warning Προσοχή

Ειδικά σε iOS πλατφόρμα, για να είναι εφικτή η εμφάνιση επιπλέον σελίδων θα πρέπει η ιδιότητα Tag του AdvancedList αρχείου της DocForm οθόνης να είναι κενή.

Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες του section Tabs ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Caption Το λεκτικό που εμφανίζεται ως τίτλος της σελίδας.
ESCaptionID Αφορά αποκλειστικά στη διαδικασία μετάφρασης του προϊόντος (Translation key).
Command Η προς εκτέλεση εντολή.
ParamList Οι «προδιαγραφές» εκτέλεσης της εντολής.
Name Το όνομα της παραμέτρου. Οι διαθέσιμες τιμές είναι οι Current & Parent οι οποίες τροφοδοτούν αντίστοιχα τις μεταβλητές [CURRENT] & [PARENT] της προς εκτέλεση εντολής. Ειδικά στην περίπτωση που η σελίδα αφορά σε οθόνη τύπου DataGridReport, διαθέσιμες προς τροφοδότηση είναι και οι μεταβλητές με το όνομα [DOCGID], [APPGID] & [SITEGID].
DataSource Η κολόνα τροφοδότησης της εκάστοτε μεταβλητής. Μπορεί να γίνει χρήση οποιασδήποτε κολόνας της επικεφαλίδας εργασίας – παραστατικού.

edit Παράδειγμα-1

Έστω για παράδειγμα ότι θέλουμε να προσθέσουμε στην DocForm οθόνη μας την επιπλέον σελίδα «Ledger» η οποία να εμφανίζει, αντλώντας πληροφορία από την τοπική βάση δεδομένων, την καρτέλα του τρέχοντος πελάτη (command CustomerLedgerIOSListForm).

edit Παράδειγμα-2

Έστω για παράδειγμα ότι θέλουμε να προσθέσουμε στην DocForm οθόνη μας την επιπλέον σελίδα «Counts» η οποία να εμφανίζει τις εργασίες τύπου ES.MCH-Μέτρηση του τρέχοντος πελάτη (command SampleDocFormTabPage).

edit Παράδειγμα-3

Έστω για παράδειγμα ότι θέλουμε να ρυθμίσουμε την επιπλέον σελίδα «Counts» έτσι ώστε να εμφανίζει τις εργασίες τύπου ES.MCH-Μέτρηση του τρέχοντος σημείου πώλησης (command SampleDocFormTabPage).

Πλήκτρα ενεργειών (ActionButton)

Τα πλήκτρα ενεργειών αναφέρονται πάντα σε κάποια προς εκτέλεση εντολή (command). Ο ορισμός των στοιχείων που αφορούν στα πλήκτρα ενεργειών (ActionButton) της DocForm οθόνης γίνεται στο section Actions του Actions αρχείου της οθόνης. Η ιδιαιτερότητα του section είναι ότι κάθε ένα από τα στοιχεία του εμφανίζεται ως διακριτό πλήκτρο της DocForm οθόνης.

Στο section Actions τοποθετούνται κυρίως πλήκτρα που αφορούν στην κλήση σεναρίων λίστας εισαγωγής γραμμών. Παράλληλα όμως τοποθετούνται και πλήκτρα που ενεργοποιούνται επί επιλεγμένης γραμμής όπως για παράδειγμα τα «κλασικά» πλήκτρα προβολής-διαγραφής γραμμής, αλλά και πιο εξειδικευμένα πλήκτρα όπως αυτά της μετάβασης σε οθόνη που αντλεί πληροφόρηση είτε από την τοπική βάση δεδομένων είτε σε απευθείας σύνδεση με τα κεντρικά. Τέλος, συνήθως τοποθετείται και το ειδικό πλήκτρο μετάβασης στην οθόνη διαχείρισης σχετικών εγγράφων της DocForm οντότητας.

Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες του section Actions ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
ImagePath Ο φάκελος στον οποίο βρίσκεται το αρχείο εικόνας που αντιστοιχεί στο πλήκτρο.
Name

Ο τύπος του πλήκτρου. Η ιδιότητα αυτή δέχεται κάποιες προκαθορισμένες τιμές με πιο συνηθισμένες τις:

  • AddLineButton#Command, πλήκτρο εισαγωγής γραμμών. Στο σκέλος Command δηλώνεται η εντολή που αφορά στην επιθυμητή λίστα εισαγωγής γραμμών.
  • DeleteButton, πλήκτρο διαγραφής γραμμής. Σημειώνουμε εδώ ότι, σε UWP & Android πλατφόρμα το πλήκτρο διαγραφής εμφανίζεται με δεξιά ολίσθηση της επιλεγμένης γραμμής.
  • Edit, πλήκτρο εμφάνισης οθόνης με τα πλήρη στοιχεία γραμμής.
  • Collapse, πλήκτρο ανάπτυξης-σύμπτυξης γραμμών.
  • Command, ελεύθερα οριζόμενο πλήκτρο. Σημειώνουμε εδώ ότι, επειδή η δήλωση της προς εκτέλεση εντολής γίνεται στην ιδιότητα Command, η πλήρης παράλειψη της ιδιότητας Name δεν δημιουργεί κανένα πρόβλημα.
Command Η εντολή προς εκτέλεση. Αφορά μόνο σε πλήκτρο τύπου «Command».
ParamList Οι «προδιαγραφές» εκτέλεσης της εντολής. Αφορά μόνο σε πλήκτρο τύπου «Command».
Name Το όνομα της παραμέτρου. Οι διαθέσιμες τιμές είναι οι Current & Parent οι οποίες τροφοδοτούν αντίστοιχα τις μεταβλητές [CURRENT] & [PARENT] της προς εκτέλεση εντολής. Ειδικά στην περίπτωση που το πλήκτρο αφορά σε οθόνη τύπου DataGridReport, διαθέσιμες προς τροφοδότηση είναι και οι μεταβλητές με το όνομα [DOCGID], [APPGID] & [SITEGID].
DataSource Η κολόνα τροφοδότησης της εκάστοτε μεταβλητής. Μπορεί να γίνει χρήση οποιασδήποτε κολόνας της επικεφαλίδας ή της γραμμής εργασίας–παραστατικού. Στην περίπτωση χρήσης κολόνας της γραμμής απαιτείται δήλωση της μορφής ESTMTaskItem.Field & ESFISalesDocLineItem.Field για την οντότητα Task & την οντότητα Document αντίστοιχα.
ApplicationVisible

Οι εφαρμογές-πλατφόρμες στις οποίες είναι διαθέσιμο το πλήκτρο. Η σύνταξη είναι της μορφής

  1. AppIDPlatforfID1#AppIDPlatforfID2 όπου:

Application

Platform
8 Merchandising 2 iOS
22 Field Service 3 Android
322 xVan 4 UWP
1024 Medical Representative 9 UWP & Android
Width, Height Το πλάτος-ύψος του πλήκτρου. Σημειώνουμε εδώ ότι, η δήλωση «κενού» πλήκτρου με συγκεκριμένο πλάτος έχει σαν αποτέλεσμα τη δημιουργία της αντίστοιχης απόστασης ανάμεσα σε άλλα πλήκτρα της περιοχής. Αφορά μόνο σε iOS πλατφόρμα.

edit Παράδειγμα-Λίστα εισαγωγής γραμμών

Έστω για παράδειγμα ότι θέλουμε να προσθέσουμε στην DocForm οθόνη μας ένα πλήκτρο το οποίο να εμφανίζει μια λίστα εισαγωγής γραμμών (command SampleAddLineForm για iOS πλατφόρμα & AddLineSFForm για UWP & Android πλατφόρμα).

edit Παράδειγμα-Αποστολή δεδομένων

Έστω για παράδειγμα ότι θέλουμε να προσθέσουμε στην DocForm οθόνη μας ένα πλήκτρο το οποίο να έχει σαν αποτέλεσμα την άμεση κλήση της διαδικασίας αποστολής δεδομένων στα κεντρικά (command SyncPush).

edit Παράδειγμα-Local report

Έστω για παράδειγμα ότι θέλουμε να προσθέσουμε στην DocForm οθόνη μας ένα πλήκτρο το οποίο να εμφανίζει, αντλώντας πληροφορία από την τοπική βάση δεδομένων, το ιστορικό της ποσότητας παραγγελίας για τον τρέχοντα πελάτη – είδος & μονάδα μέτρησης της επιλεγμένης γραμμής (command SampleDocFormActionButton).

MOB-ImplementationGuide-5 2-image144.pngMOB-ImplementationGuide-5 2-image145.png

edit Παράδειγμα-Online report

Έστω για παράδειγμα ότι θέλουμε να προσθέσουμε στην DocForm οθόνη μας ένα πλήκτρο το οποίο να εμφανίζει, σε απευθείας σύνδεση με τα κεντρικά, το ιστορικό πωλήσεων το είδος της επιλεγμένης γραμμής (command Html_ESSalesPerItem).

MOB-ImplementationGuide-5 2-image148.pngMOB-ImplementationGuide-5 2-image149.png

Μενού πλήκτρα (DocToolbarAction)

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

Πλήκτρο Ρύθμιση
Icon Description automatically generated Ενέργειες Για την ένταξη μιας ενέργειας στο πλήκτρο απαιτείται η δήλωση της στο section ToolbarActions του Actions αρχείου της οθόνης. Ο ορισμός της προς εκτέλεση ενέργειας γίνεται μέσω χρήσης στοιχείου τύπου DocToolbarAction. Για τον τρόπο ορισμού του στοιχείου ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην ενότητα DocTab.
Icon Description automatically generated Online Για την ένταξη μιας ενέργειας στο πλήκτρο απαιτείται η δήλωση της στο section ToolbarOnLineActions του Actions αρχείου της οθόνης. Ο ορισμός της προς εκτέλεση ενέργειας γίνεται μέσω χρήσης στοιχείου τύπου DocToolbarAction. Για τον τρόπο ορισμού του στοιχείου ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην ενότητα DocTab.
Icon Description automatically generated Αποθήκευση Το πλήκτρο που σηματοδοτεί την ολοκλήρωση καταχώρισης των στοιχείων της DocForm οντότητας. Εμφανίζεται πάντα ως το τελευταίο πλήκτρο του πάνω-δεξιά μέρους της οθόνης. Ειδικά στην περίπτωση της οντότητας Task, πατώντας το πλήκτρο αποθήκευσης εμφανίζεται λίστα με τις διαθέσιμες επιλογές αποθήκευσης. Σημειώνουμε εδώ ότι, ο ορισμός των διαθέσιμων επιλογών του πλήκτρου μπορεί να γίνει είτε «κεντρικά», μέσω κατάλληλης παραμετροποίησης του εκάστοτε τύπου εργασίας, είτε σε επίπεδο συγκεκριμένης DocForm οθόνης μέσω ρύθμισης της ιδιότητας SaveMenu της εκάστοτε εντολής.

Ταξινόμηση

Ο ορισμός των εναλλακτικών κριτηρίων ταξινόμησης του σκέλους Περιεχόμενα μιας DocForm οθόνης γίνεται στο section SortBy του Actions αρχείου της οθόνης. Από τη στιγμή που έχουν δηλωθεί εναλλακτικά κριτήρια ταξινόμησης, στο πάνω-δεξιά μέρος της οθόνης εμφανίζεται το πλήκτρο A black rectangle with a black background Description automatically generated with low confidence-Ταξινόμηση. Μέσω του πλήκτρου αυτού δίνεται η δυνατότητα εναλλαγής μεταξύ των διαθέσιμων κριτηρίων ταξινόμησης. Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες των εναλλακτικών κριτηρίων ταξινόμησης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην αντίστοιχη ενότητα οθόνης τύπου LsitForm.

MOB-ImplementationGuide-5 2-image153.pngedit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να δώσουμε στη DocForm οθόνης μας τη δυνατότητα ταξινόμησης του σκέλους Περιεχόμενα βάσει α/α γραμμής και κωδικού ή περιγραφής είδους.

information Σημείωση

  • Στην περίπτωση που έχει ενεργοποιηθεί η δυνατότητα ομαδοποίησης των γραμμών της DocForm οθόνης, η δήλωση του GroupField ως πρώτο πεδίο ταξινόμησης των γραμμών είναι υποχρεωτική.

  • Η ενέργεια ταξινόμησης των γραμμών διαχειρίζεται όλα τα πεδία ως τύπου κείμενο. Για να είναι σωστή η ταξινόμηση βάσει αριθμητικού πεδίου, απαιτείται «μετατροπή» του αριθμού σε κείμενο. (βλέπε ενότητα Ιδέες & Λύσεις/ Οθόνη τύπου DocForm/ Ταξινόμηση γραμμών)

Εναλλακτικές διατάξεις

Σε οθόνη τύπου DocForm, μέσω των εναλλακτικών διατάξεων, δίνεται η δυνατότητα δυναμικής μεταβολής μορφής εμφάνισης του σκέλους Περιεχόμενα. Για τις απαιτούμενες ρυθμίσεις ισχύουν τα παρακάτω.

  • MOB-ImplementationGuide-5 2-image154.pngΔιαμόρφωση διάταξης. Η διαμόρφωση διάταξης γίνεται μέσω χρήσης αρχείου τύπου AdvancedList.xml. Όσον αφορά στον τρόπο ορισμού των επιμέρους στοιχείων του AdvancedList αρχείου, ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για την «προκαθορισμένη» διάταξη του σκέλους Περιεχόμενα.
  • Τοποθέτηση διάταξης. Τα αρχεία εναλλακτικών διατάξεων μπορούν να έχουν οποιοδήποτε όνομα εκτός του ονόματος «AdvancedList.xml» και θα πρέπει να βρίσκονται στον υπό-φάκελο Layouts της περιοχής που βρίσκεται και η «προκαθορισμένη» διάταξη του σκέλους Περιεχόμενα (π.χ. φάκελος GenericTaskForm/es.mch/TaskItem/Layouts για εργασία τύπου μέτρηση και φάκελος GenericDocForm/1/Layouts για παραστατικό τύπου παραγγελία).
  • Πλήκτρο κλήσης διάταξης. Η κλήση των εναλλακτικών διατάξεων γίνεται από το πλήκτρο A black rectangle with a black background Description automatically generated with low confidence-Διατάξεις της DocForm οθόνης. Για την εμφάνιση του πλήκτρου αυτού απαιτείται η δήλωση των διαθέσιμων διατάξεων στο section Layouts του Actions αρχείου της DocForm οθόνης. Η σύνδεση πλήκτρου & αρχείου διάταξης γίνεται δηλώνοντας στην ιδιότητα FormID το όνομα αρχείου της προς κλήση διάταξης.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να επεκτείνουμε την DocForm οθόνη μας με μια διάταξη που να εμφανίζει το σκέλος Περιεχόμενα σε μια απλούστερη μορφή. Έστω επίσης ότι, το όνομα αρχείου της διάταξης αυτής είναι το SimpleView.xml.
MOB-ImplementationGuide-5 2-image155.pngMOB-ImplementationGuide-5 2-image156.png

Advanced λειτουργικότητα

Αναζήτηση MOB-ImplementationGuide-5 2-image1.png

Σε DocForm οθόνη δίνεται η δυνατότητα δήλωσης εναλλακτικών κριτηρίων αναζήτησης επί του σκέλους Περιεχόμενα της οθόνης. Ο ορισμός των κριτηρίων αναζήτησης γίνεται μέσω χρήσης της ειδικού τύπου εντολής SearchPanelCreatorCommand. Το όνομα της εντολής είναι προκαθορισμένο και θα πρέπει, για την οντότητα Task να είναι της μορφής SP_InternationalID (π.χ. SP_es.mch για εργασία τύπου Μέτρηση), ενώ για την οντότητα Document θα πρέπει να είναι της μορφής SP_doc_ID (π.χ. SP_doc_1 για παραστατικό τύπου Παραγγελία). Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες των εναλλακτικών κριτηρίων αναζήτησης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην αντίστοιχη ενότητα οθόνης τύπου LsitForm. Σημειώνουμε εδώ ότι, η δυνατότητα δήλωσης εναλλακτικών κριτηρίων αναζήτησης είναι διαθέσιμη μόνο σε iOS πλατφόρμα.

Εναλλακτικό αριθμητικό πληκτρολόγιο MOB-ImplementationGuide-5 2-image1.png

Παράδειγμα ES.COMPT-Ανταγωνισμός

Σε DocForm οθόνη της οντότητας Task και για την περίπτωση που οι ανάγκες συμπλήρωσης των αριθμητικών στοιχείων γραμμής είναι αρκετά εξειδικευμένες, δίνεται η δυνατότητα «αντικατάστασης» του προκαθορισμένου pop up αριθμητικού πληκτρολογίου με ένα εναλλακτικό το οποίο, πέρα από τα κλασικά πλήκτρα, περιέχει και πλήκτρα άμεσης μετάβασης σε επόμενη-προηγούμενη γραμμή ή στήλη του σκέλους Περιεχόμενα. Ενεργοποίηση της δυνατότητας αυτής γίνεται από το AdvancedList αρχείο της DocForm οθόνης και μέσω κατάλληλης ρύθμισης των παρακάτω ιδιοτήτων του εκάστοτε αριθμητικού στοιχείου της γραμμής:

Ιδιότητα Σχόλιο
KeyboardID Δήλωση της τιμής NumericDpad.
TabIndex Δήλωση ενός α/α οποίος αφορά στην επιθυμητή σειρά μετακίνησης μεταξύ των στοιχείων της γραμμής.
Selectable Δήλωση της τιμής true.

edit Παράδειγμα

MOB-ImplementationGuide-5 2-image157.PNGΈστω για παράδειγμα ότι θέλουμε την ενεργοποίηση του εναλλακτικού πληκτρολογίου στα στοιχεία προβολές & ποσότητα της Data entry οθόνης εργασίας τύπου ES.COMPT-Ανταγωνισμός.

Οθόνη Υπογραφή

MOB-ImplementationGuide-5 2-image159.pngΣε DocForm οθόνη δίνεται η δυνατότητα αυτόματης εμφάνισης, με την ολοκλήρωση εργασίας-παραστατικού, οθόνης καταχώρισης της υπογραφής πελάτη και επισύναψης αυτής (ως αρχείο τύπου jpg) στα σχετικά έγγραφα της τρέχουσας εργασίας-παραστατικού.

Η ενεργοποίηση της λειτουργικότητας αυτής γίνεται από τα κεντρικά και μέσω ρύθμισης του πεδίου «Υπογραφή» του τύπου εργασίας-παραστατικού με διαθέσιμες επιλογές τα 0-Όχι, 1-Προαιρετική & 2-Υποχρεωτική.

Σημειώνουμε εδώ ότι ειδικά για την οντότητα Document, δίνεται και η δυνατότητα της υπό συνθήκες εμφάνισης οθόνης υπογραφής. Για την αξιοποίηση της δυνατότητας αυτής αρκεί η δήλωση, μέσω χρήσης του εργαλείου Business rules, του επιθυμητού κανόνα ανάθεσης τιμής στο non store πεδίο ShouldCaptureSignature της επικεφαλίδας παραστατικού.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια Data entry οθόνη η οποία να χρησιμοποιηθεί για την καταχώριση παραστατικού τύπου 6-Τιμολόγιο πώλησης. Έστω επίσης ότι θέλουμε μη εμφάνιση της οθόνης υπογραφής στην περίπτωση που το τιμολόγιο χαρακτηριστεί ως «Μετρητοίς».

Οθόνη E-mail

MOB-ImplementationGuide-5 2-image160.pngΣε DocForm οθόνη δίνεται η δυνατότητα αυτόματης σύνταξης E-mail με επισυναπτόμενο ένα αρχείο τύπου pdf στο οποίο απεικονίζονται τα στοιχεία της τρέχουσας εργασίας-παραστατικού. Για τις απαιτούμενες ρυθμίσεις ισχύουν τα παρακάτω.

information Σημείωση

Η δυνατότητα αυτόματης παραγωγής επισυναπτόμενου αρχείου τύπου pdf δεν είναι διαθέσιμη στην UWP πλατφόρμα. Επίσης, στην iOS πλατφόρμα, είναι διαθέσιμη σε iOS λειτουργικό σύστημα έκδοσης >=13.

Διαμόρφωση οθόνης

Η υλοποίηση οθόνης E-mail γίνεται μέσω χρήσης της ειδικού τύπου εντολής MailMergeCommand. Το ιδιαίτερο χαρακτηριστικό εντολής αυτού του τύπου είναι ότι παρέχει τη δυνατότητα ρύθμισης των στοιχείων που συνθέτουν τους αποδέκτες και το σώμα ενός E-mail. Οι προς ρύθμιση ιδιότητες της εντολής είναι:

Ιδιότητα Σχόλιο
FormID

Ο φάκελος της περιοχής ESReports ή CSReports στον οποίο βρίσκεται το σχετιζόμενο με την οθόνη report αρχείο. Σημειώνουμε εδώ ότι, για την υλοποίηση της μορφής εμφάνισης της οθόνης απαιτείται η χρήση αρχείου τύπου ReportDefinition.xml. Σημειώνουμε επίσης ότι, μέσω κατάλληλης ρύθμισης του report αρχείου, παρέχεται και η δυνατότητα εμφάνισης:

  • Εταιρικού λογότυπου. Αρκεί ο ορισμός αρχείου εικόνας με το προκαθορισμένο όνομα PdfCompanyLogo.png στο φάκελο CSConfig.
  • Υπογραφής πελάτη. Αρκεί να έχει ενεργοποιηθεί, στον τύπο εργασίας-παραστατικού, η λειτουργικότητα της επισύναψης υπογραφής πελάτη.
SubjectSQL Το select query που καθορίζει τα δεδομένα προς εμφάνιση στο στοιχείο E-mail / Subject.
MailRecipientSQL Το select query που καθορίζει τα δεδομένα προς εμφάνιση στο στοιχείο E-mail / To
MailCCRecipientSQL Το select query που καθορίζει τα δεδομένα προς εμφάνιση στο στοιχείο E-mail / Cc.
MailBCCRecipientSQL Το select query που καθορίζει τα δεδομένα προς εμφάνιση στο στοιχείο E-mail / Bcc.
MailMode

Η «συμπεριφορά» της διαδικασίας αποστολής E-mail. Οι διαθέσιμες επιλογές είναι:

  • 0-Αποστολή επισυναπτόμενου αρχείου τύπου HTML report.
  • 1-Αποστολή επισυναπτόμενου αρχείου τύπου PDF.
  • 2-Αποστολή επισυναπτόμενου αρχείου τύπου PDF και δυνατότητα ηχογράφησης κειμένου.
  • 3-Μη αποστολή.
TableList Οι «προδιαγραφές» σύνταξης του E-mail «σώματος».

Ενεργοποίηση οθόνης

Η ενεργοποίηση οθόνης E-mail γίνεται μέσω δήλωσης της MailMergeCommand εντολής στο Actions αρχείο της DocForm οθόνης και κατά προτίμηση, στο section ToolbarActions. Η δήλωση θα πρέπει να είναι της μορφής MailMerge#Command όπου στο σκέλος Command δηλώνεται η προς εκτέλεση εντολή.

MOB-ImplementationGuide-5 2-image161.pngΟθόνη Επιβεβαίωση & Υπογραφή

Σε DocForm οθόνη δίνεται η δυνατότητα αυτόματης εμφάνισης, με την ολοκλήρωση εργασίας-παραστατικού, οθόνης επιβεβαίωσης & υπογραφής των στοιχείων της τρέχουσας εγγραφής. Για τις απαιτούμενες ρυθμίσεις ισχύουν τα παρακάτω.

Διαμόρφωση οθόνης

Η υλοποίηση οθόνης Επιβεβαίωση & Υπογραφή γίνεται μέσω χρήσης της ειδικού τύπου εντολής ConfirmationCommand. Το ιδιαίτερο χαρακτηριστικό εντολής αυτού του τύπου είναι ότι «συντίθεται» από δυο υπό-οθόνες, την οθόνη E-mail και την οθόνη Υπογραφή ενώ ταυτόχρονα παρέχει και τη δυνατότητα της φυσικής εκτύπωσης των δεδομένών. Οι προς ρύθμιση ιδιότητες της εντολής είναι:

Ιδιότητα Σχόλιο
SignatureType Απαιτείται η δήλωση της τιμής 5 ή 3 για την οντότητα Task ή Document αντίστοιχα.
MailMergeCommand Η προς εκτέλεση εντολή που αφορά στην οθόνη E-mail.
AutoEmail Αυτόματη αποστολή e-mail (true) ή όχι (false).
PrintCommand Η προς εκτέλεση εντολή που αφορά στη φυσική εκτύπωση.
AutoPrint Αυτόματη εκτύπωση (true) ή όχι (false).

Ενεργοποίηση οθόνης

Η ενεργοποίηση οθόνης Επιβεβαίωση & Υπογραφή γίνεται μέσω ρύθμισης, της ιδιότητας ConfirmationCommand του Actions αρχείου της DocForm οθόνης, Απαραίτητη προϋπόθεση είναι το να είναι ενεργοποιημένη, σε επίπεδο τύπου εργασίας-παραστατικού, η λειτουργικότητα της εμφάνισης οθόνης Υπογραφή.

Εισαγωγή γραμμών από PDF MOB-ImplementationGuide-5 2-image1.png Icon Description automatically generated

Παράδειγμα SampleAddLineFromPDF

MOB-ImplementationGuide-5 2-image162.pngΗ οθόνη Εισαγωγής γραμμών από PDF (AddLineFromPDF) είναι διαθέσιμη σε DocForm οθόνη της οντότητας Document και αποτελεί ένα εναλλακτικό εργαλείο εισαγωγής γραμμών με την επιλογή ειδών να γίνεται από κατάλληλα διαμορφωμένο αρχείο τύπου PDF. Για την αξιοποίηση του εργαλείου απαιτείται αφενός η διαμόρφωση ενός PDF αρχείου και αφετέρου η προσθήκη του ανάλογου πλήκτρου ενεργειών στην DocForm οθόνη παραστατικού. Η AddLineFromPDF οθόνη είναι διαθέσιμη μόνο σε iOS & Android πλατφόρμα.

Λόγω των ιδιαίτερων χαρακτηριστικών της AddLineFromPDF οθόνης, η ESMobile εφαρμογή δεν παρέχει κάποιο προϊοντικό σενάριο υλοποίησης της. Στην ενότητα αυτή θα δόσουμε αναλυτικές οδηγίες για την υλοποίηση -σε επίπεδο εξατομίκευσης της εφαρμογής- οθόνης αυτού του τύπου.

Πλήκτρο ενεργειών (ActionButton)

Η υλοποίηση της AddLineFromPDF οθόνης γίνεται μέσω χρήσης της ειδικού τύπου εντολής PdfInputCommand στην οποία ουσιαστικά το μόνο που δηλώνεται είναι η περιοχή και το όνομα του PDF αρχείου προς κλήση (ιδιότητα PdfFilePath).

Η ενεργοποίηση της οθόνης γίνεται μέσω δήλωσης, της συγκεκριμένης εντολής ως διακριτού πλήκτρου της DocForm οθόνης (section Actions του Actions.xml αρχείου). Στην ιδιότητα Name του πλήκτρου δηλώνεται υποχρεωτικά η τιμή AddFromPdf ενώ στην ιδιότητα Command δηλώνεται η προς εκτέλεση εντολή.

Διαμόρφωση PDF αρχείου

Στο PDF αρχείο δηλώνονται τα είδη που θέλουμε να είναι διαθέσιμα προς επιλογή. Ως προς τη σχεδίαση της μορφής εμφάνισης του PDF δεν υπάρχουν συγκεκριμένοι περιορισμοί. Ιδιαίτερη προσοχή θα πρέπει όμως να δοθεί κατά τη σύνταξη του URL που αντιστοιχεί στο κάθε είδος του PDF.

Το URL είναι της μορφής http://entersoft/{%22Code%22:%22είδος%22} όπου το σκέλος "είδος" πρέπει να ταυτίζεται με κάποιον από τους διαθέσιμους κωδικούς επιλογής είδους (κωδικό ή barcode). Το URL της μορφής αυτής αντιστοιχεί στην προκαθορισμένη οθόνη δήλωσης των στοιχείων προς εισαγωγή η οποία περιλαμβάνει τα πεδία: Ποσότητα, Μονάδα μέτρησης & Χρώμα-Μέγεθος.

Σημειώνουμε εδώ ότι, η σειρά με την οποία επιχειρείται ο έλεγχος ταυτοποίησης του είδους, εξαρτάται από τη ρύθμιση της παραμέτρου κινητού Barcode_SearchMethod.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε, για όλα τα είδη του PDF, εμφάνιση της προκαθορισμένης οθόνης

απλό είδος

με κωδικό 200-21

απλό είδος

με barcode 900002

είδος χρώμα-μέγεθος

με κωδικό 500-01

http://entersoft/{"Code":"200-21"} http://entersoft/{"Code":"900002"} http://entersoft/{"Code":"500-01"}
Graphical user interface, text, application, email Description automatically generated Graphical user interface, text, application Description automatically generated Table Description automatically generated with medium confidence
Για το παράδειγμα μας, η παράμετρος κινητού Barcode_SearchMethod θα πρέπει να έχει την τιμή 1-2 έτσι ώστε να υπάρχει δυνατότητα ταυτοποίησης τόσο μέσω κωδικού είδους όσο και μέσω barcode είδους.

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

  • Όλα τα είδη. Η δήλωση των επιπλέον πεδίων γίνεται στο αρχείο PdfEntryFields.json. Το αρχείο αυτό θα πρέπει να βρίσκεται στο φάκελο ESConfig ή CSConfig της ESMobile εφαρμογής.
  • Συγκεκριμένο είδος. Το URL του είδους είναι της μορφής http://entersoft/{%22Code%22:%22είδος%22,%22InputFields%22:[{πεδίο-1},{πεδίο-2], ...]}. όπου στο σκέλος "InputFields" δηλώνονται τα επιπλέον πεδία.

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

Ιδιότητα Τιμή
Label Ο τίτλος του πεδίου.
DataMember Το πεδίο της γραμμής παραστατικού που θα ενημερωθεί.
Value Μια προτεινόμενη τιμή για το πεδίο.
DataType Ο τύπος του πεδίου. Οι διαθέσιμες τιμές είναι: 0-Κείμενο, 1-Αριθμός, 2-Λίστα επιλογής & 3-Ημερομηνία
FieldType Η συμπεριφορά του πεδίου. Οι διαθέσιμες τιμές είναι: 0-Editable & 1-ReadOnly
Options Συμπληρώνεται μόνο στην περίπτωση που η ιδιότητα DataType έχει την τιμή 2-Λίστα επιλογής. Ο ορισμός των επιλογών θα πρέπει να είναι της μορφής: [“επιλογή-1”,”επιλογή-2”]

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε, για όλα τα είδη του PDF, επέκταση της προκαθορισμένης οθόνης έτσι ώστε να εμφανίζει και τα πεδία Ημερομηνία-1 & Αιτιολογία, όπου στο πεδίο Αιτιολογία θέλουμε να εμφανίζεται λίστα επιλογής τιμών. Έστω επίσης ότι θέλουμε, ειδικά για το είδος 500-01, η επέκταση να περιλαμβάνει μόνο το πεδίο Ημερομηνία-1.

απλό είδος με κωδικό 000-01
1 http://entersoft/{"Code":"000-01"} Graphical user interface, application Description automatically generated with medium confidence
2 αρχείο PdfEntryFields.json με την παρακάτω σύνταξη

[

{

"Label": "Comment",

"DataMember": "Reasoning",

"Value": "",

"DataType": 2,

"FieldType": 0,

"Options": ["Choice-1","Choice-2","Choice-3"]

},

{

"Label": "Due date",

"DataMember": "DateField3",

"Value": "",

"DataType": 3,

"FieldType": 0,

"Options": ""

}

]

είδος χρώμα-μέγεθος με κωδικό 500-01
http://entersoft/{%22Code%22:%22500-01%22,%22InputFields%22:[{"Label": "Due date","DataMember":"DateField3","Value":"","DataType":3,"FieldType":0,"Options":""}]} Table Description automatically generated

information Σημείωση

  • Στην περίπτωση που επιθυμούμε κάποια από τα είδη που αναφέρονται στο PDF αρχείο να είναι επιλέξιμα μόνο από συγκεκριμένη ESMobile εφαρμογή, δίνεται η δυνατότητα εξειδίκευσης του URL σε επίπεδο ESMobile εφαρμογής. Για την αξιοποίηση της δυνατότητας αυτής απαιτείται δήλωση URL της παρακάτω μορφής:

  • [[1]], για την εφαρμογή SFA-Merchandising

  • [[2]], για την εφαρμογή xVan

  • [[3]], για την εφαρμογή Field Service

  • [[4]], για την εφαρμογή Medical Representative

  • Ειδικά στην iOS πλατφόρμα, για την αναγνώριση URL με μη λατινικούς χαρακτήρες, απαιτείται συγκεκριμένο encoding. Στην περίπτωση ενός τέτοιου URL, θα πρέπει να γίνει μετατροπή του στο απαιτούμενο encoding. Η μετατροπή αυτή μπορεί να γίνει εύκολα χρησιμοποιώντας εργαλεία όπως το www.urlencoderτου.org.

π.χ. για είδος με κωδικό ΔΠ-001, το URL δεν πρέπει να είναι της μορφής [[5]] αλλά της μορφής [[6]]

Εισαγωγή γραμμών από είδη καταλόγου MOB-ImplementationGuide-5 2-image1.png

MOB-ImplementationGuide-5 2-image168.PNGMOB-ImplementationGuide-5 2-image169.PNGΣε DocForm οθόνη της οντότητας Document δίνεται η δυνατότητα αυτόματης «αντικατάστασης» μιας λίστας εισαγωγής γραμμών (πλήκτρο τύπου AddLineButton) με μια προκαθορισμένη λίστα 2 επιπέδων όπου στο πρώτο επίπεδο εμφανίζεται λίστα με τα είδη καταλόγου και στο δεύτερο λίστα με τα είδη αποθήκης που αναφέρονται στο επιλεγμένο είδος καταλόγου. Για την ενεργοποίηση της δυνατότητας αυτής αρκεί στην παράμετρο κινητού Doc_UseCatalogueItems να δηλωθεί η τιμή 1-Ναι.

information Σημείωση

Οι οθόνες που αφορούν στις λίστες είδη καταλόγου & είδη αποθήκης είναι προκαθορισμένες και υλοποιούνται μέσω χρήσης των εντολών CatalogueItemInvForm & ItemInvList αντίστοιχα.

Μαζική ενημέρωση επιλεγμένων γραμμών

Παράδειγμα ES.MCHCP-Τιμοληψία

Σε DocForm οθόνη δίνεται η δυνατότητα μαζικής ενημέρωσης στοιχείων για το σύνολο των επιλεγμένων γραμμών εργασίας-παραστατικού. Για την αξιοποίηση της δυνατότητας αυτής απαιτείται αφενός η διαμόρφωση οθόνης στην οποία δηλώνονται τα στοιχεία προς ενημέρωση και αφετέρου η προσθήκη ανάλογης ενέργειας στην DocForm οθόνη εργασίας-παραστατικού.

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

Διαμόρφωση οθόνης

Η διαμόρφωση της οθόνης στην οποία δηλώνονται τα στοιχεία προς ενημέρωση γίνεται μέσω χρήσης αρχείου τύπου DetailView.xml. Το αρχείο αυτό θα πρέπει να έχει το όνομα MassUpdateDetailView.xml και να έχει τοποθετηθεί στην περιοχή όπου βρίσκονται όλα τα αρχεία του σκέλους Περιεχόμενα της DocForm οθόνης (π.χ. περιοχή GenericTaskForm/es.mch/TaskItem για εργασία τύπου μέτρηση και περιοχή GenericDocForm/1 για παραστατικό τύπου παραγγελία). Επισημαίνουμε εδώ ότι, η οθόνη μαζικής ενημέρωσης μπορεί να περιέχει παντός τύπου στοιχεία (κείμενο, αριθμός, ημερομηνία, χαρακτηρισμός & λίστα επιλογής). Ειδικά στην περίπτωση στοιχείου τύπου λίστα επιλογής, η δήλωση θα πρέπει να είναι της μορφής [POP].

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια οθόνη που να δίνει τη δυνατότητα μαζικής ενημέρωσης των στοιχείων Κείμενο-1, Αριθμός-1, Ημερομηνία-1, Χαρακτηρισμός-1 & Πίνακας-1 γραμμών εργασίας τύπου ES.MCHCP-Τιμοληψία.

MOB-ImplementationGuide-5 2-image172.png

Προσθήκη ενέργειας

Η κλήση της οθόνης μαζικής ενημέρωσης γίνεται μέσω δήλωσης της ενέργειας BatchUpdateSelected ως διακριτής επιλογής στο μενού πλήκτρο Icon Description automatically generated-Ενέργειες της της DocForm οθόνης (section ToolbarActions του Actions.xml αρχείου). Επισημαίνουμε εδώ ότι, για να είναι εφικτή η επιλογή των γραμμών προς ενημέρωση θα πρέπει -στο AdvancedList.xml αρχείο του σκέλους Περιεχόμενα- να υπάρχει και το στοιχείο IsRowSelected.

Named εργασία (NamedTask) MOB-ImplementationGuide-5 2-image1.png

Η Data entry οθόνη τύπου Named εργασία (NamedTask) είναι διαθέσιμη μόνο σε iOS πλατφόρμα και μπορεί να χρησιμοποιηθεί ως εναλλακτικός τρόπος υλοποίησης της Data entry οθόνης εργασίας η οποία δεν έχει το σκέλος Περιεχόμενα (π.χ. εργασία τύπου ES.SAP-Συνάντηση πωλήσεων). Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου NamedTask είναι:

Στοιχείο Σχόλιο
Εντολή Απαιτείται η χρήση εντολής τύπου NewFormCreatorCommand ή EditFormCreatorCommand για την καταχώριση ή τη διαχείριση εγγραφής αντίστοιχα. Όσον αφορά στα στοιχεία που ορίζονται σε επίπεδο εντολής ισχύουν σε γενικές γραμμές τα ίδια με αυτά που περιγράφονται για οθόνη τύπου EditForm. Στην ενότητα αυτή θα αναφερθούμε επιγραμματικά στα σημεία εκείνα που διαφοροποιούνται και επομένως απαιτούν ιδιαίτερη προσοχή κατά την υλοποίηση οθόνης τύπου NamedTask.
Φόρμα Για την υλοποίηση της μορφής εμφάνισης της οθόνης απαιτείται η χρήση αρχείου τύπου DetailView.xml. Όσον αφορά στον τρόπο ορισμού των στοιχείων εμφάνισης της φόρμας ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για οθόνη τύπου EditForm.

sign_warning Προσοχή

Για να εξασφαλιστεί η απρόσκοπτη αναβάθμιση της ESMobile εφαρμογής θα πρέπει, αν το DetailView αρχείο της οθόνης γίνει custom να γίνει απαραίτητα custom και το αρχείο εντολής της οθόνης. Ο κανόνας αυτός ισχύει ακόμα και στην περίπτωση που δεν υπάρχει καμία ανάγκη επέμβασης στο αρχείο της εντολής.

Δεδομένα / Ιδιαίτερες ρυθμίσεις

Για τις ρυθμίσεις σε επίπεδο εντολής, σε συνδυασμό με αυτά που ισχύουν για οθόνη τύπου EditForm, ισχύουν και τα παρακάτω.

Ιδιότητα Σχόλιο
IsTask Επιλογή κατάστασης αποθήκευσης της εργασίας (true) ή όχι (false).
TaskType Ο τύπος εργασίας με διαθέσιμες τιμές 1-Συνάντηση πωλήσεων και 3-Εργασία πωλήσεων. Σημειώνουμε εδώ ότι, στην περίπτωση που για οποιονδήποτε λόγο επιθυμούμε τη χρήση της NamedTask οθόνης για υλοποίηση εργασίας άλλου τύπου, στην ιδιότητα αυτή θα πρέπει να δηλωθεί το InternationalID του τύπου εργασίας.
SaveMenu Οι επιλογές αποθήκευσης. Οι κλασικές επιλογές είναι: 1-Αποθήκευση, 2-Ολοκλήρωση, 3-Ακύρωση.

Σημειώνουμε εδώ ότι σε iOS πλατφόρμα και σε προηγούμενες της 3.10 εκδόσεις της ESMobile εφαρμογής, για τις εργασίες τύπου ES.SAP-Συνάντηση πωλήσεων και ES.STK-Εργασία πωλήσεων, η χρήση οθόνης τύπου NamedTask ήταν η μοναδική επιλογή. Όμως, από την έκδοση 3.10 και μετά όπου δόθηκε η δυνατότητα χρήσης οθόνης τύπου DocForm και για τους συγκεκριμένους τύπους εργασίας, συστήνεται πλέον ανεπιφύλακτα η αποφυγή της χρήσης οθόνης τύπου NamedTask. Τα βασικά πλεονεκτήματα της DocForm οθόνης έναντι της NamedTask είναι:

  • Υλοποίηση οθόνης. Κοινοί «κανόνες» υλοποίησης οθόνης για την οντότητα Task για όλους τους τύπους εργασίας.

  • Λοιπές περιοχές οθόνης. Δυνατότητα αξιοποίησης της επιπλέον λειτουργικότητας που παρέχεται μέσω του Actions.xml αρχείου της φόρμας.

  • Business Rules. Δυνατότητα αξιοποίησης της επιπλέον λειτουργικότητας που παρέχεται μέσω του εργαλείου Business Rules.

Οι ενέργειες που απαιτούνται για τη «μετάβαση» στο νέο τρόπο διαχείρισης των εργασιών ES.SAP-Συνάντηση πωλήσεων και ES.STK-Εργασία πωλήσεων είναι:

  • Δήλωση στην παράμετρο εταιρείας AppTodoAsTask της τιμής 1-Ναι. Σημειώνουμε εδώ ότι, μετά την αλλαγή στην τιμή της παραμέτρου απαιτείται και ανανέωση της cache του συστήματος.

  • Εκτέλεση από τη συσκευή της διαδικασίας αρχικοποίησης δεδομένων. Σημειώνουμε εδώ ότι, με την ολοκλήρωση της διαδικασίας αρχικοποίησης, οι αυτόνομοι πίνακες των τύπων εργασίας ES.APP-Συνάντηση Πωλήσεων (πίνακας ESTMAppointment) και ES.STK-Εργασία Πωλήσεων (πίνακας ESTMToDO) γίνονται πλέον ανενεργοί.

Οθόνες πληροφόρησης

Οι οθόνες πληροφόρησης χρησιμοποιούνται για την εμφάνιση δεδομένων υπό μορφή report. Ο τρόπος υλοποίησης του report διαφοροποιείται ανάλογα με το αν οι προς εμφάνιση πληροφορίες αντλούνται από την τοπική βάση δεδομένων ή μέσω online σύνδεσης με τα κεντρικά αλλά και ανάλογα με την επιθυμητή μορφή εμφάνισης του report.

Local grid report (DataGridReport)

Παράδειγμα SampleDataGridReport

Η οθόνη πληροφόρησης τύπου DataGridReport χρησιμοποιείται για την υλοποίηση report που εμφανίζει πληροφόρηση υπό μορφή πίνακα (Grid) αντλώντας στοιχεία από την τοπική βάση δεδομένων. Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου DataGridReport είναι:

Στοιχείο Σχόλιο
Εντολή Απαιτείται η χρήση εντολής τύπου ESDataGridCommand.
Report Για την υλοποίηση της μορφής εμφάνισης του repot απαιτείται η χρήση αρχείου τύπου ReportDefinition.xml.

Στη συνέχεια της ενότητας αυτής, χρησιμοποιώντας συγκεκριμένο παράδειγμα, θα δώσουμε αναλυτικές οδηγίες υλοποίησης οθόνης τύπου DataGridReport.

Δεδομένα

Ο ορισμός των δεδομένων της DataGridReport οθόνης καθώς και η σύνδεση εντολής-report γίνεται μέσω ανάλογης ρύθμισης των επιμέρους ιδιοτήτων του αρχείου της εντολής. Το αρχείο της εντολής θα πρέπει να βρίσκεται στον υπό-φάκελο Commands της περιοχής ESConfig ή CSConfig. Ιδιαίτερη προσοχή θα πρέπει να δοθεί ώστε το όνομα του αρχείου της εντολής να ταυτίζεται με το όνομα της εντολής μέσα στο αρχείο.

Όσον αφορά στα στοιχεία που ορίζονται σε επίπεδο εντολής (δεδομένα, ταξινόμηση & αναζήτηση) ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για οθόνη τύπου ListForm με εξαίρεση το ότι το αρχείο του report της οθόνης θα πρέπει να βρίσκεται σε υπό-φάκελο της περιοχής ESReports ή CSReports.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια οθόνη τύπου DataGridReport η οποία να εμφανίζει κάποια βασικά οικονομικά στοιχεία των πελατών αντλώντας πληροφόρηση από την τοπική βάση δεδομένων. Το report αυτό θέλουμε να πληροί τις παρακάτω βασικές προδιαγραφές:

  • Να περιλαμβάνει μόνο τους ενεργούς πελάτες

  • Να είναι ταξινομημένο αλφαβητικά βάσει επωνυμίας πελάτη, αλλά να δίνει και τη δυνατότητα ταξινόμησης βάσει υπολοίπου πελάτη.

  • Να δίνει τη δυνατότητα αναζήτησης εγγραφών βάσει επωνυμίας πελάτη

Έστω επίσης ότι το report της οθόνης αυτής είναι το SampleDataGridReport.

Μορφή εμφάνισης

Ο ορισμός των στοιχείων που καθορίζουν τη μορφή εμφάνισης του report γίνεται μέσω ανάλογης ρύθμισης των επιμέρους ιδιοτήτων του ReportDefinition αρχείου της οθόνης. Το αρχείο αυτό έχει τα παρακάτω προκαθορισμένα σκέλη.

  • CssStyle. Στο σκέλος αυτό γίνεται η ρύθμιση των στοιχείων που σχετίζονται με τη μορφή εμφάνισης των περιοχών και των δεδομένων του report. Σημειώνουμε εδώ ότι, οδηγίες γύρω από τις δυνατότητες ρύθμισης του σκέλους αυτού ξεπερνούν τα όρια του παρόντος εγχειρίδιου οπότε και δεν θα γίνει αναφορά σε αυτές.

  • ColumnSections. Στο σκέλος αυτό γίνεται ο ορισμός των στοιχείων που εμφανίζει το report καθώς και η θέση εμφάνισης καθενός από αυτά. Δίνεται η δυνατότητα τοποθέτησης όλων των προς εμφάνιση στοιχείων (Column) μέσα σε ένα τμήμα (ColumnSection) αλλά και του διαχωρισμού τους σε πολλαπλά τμήματα.

Για τις βασικές ιδιότητες του σκέλους ColumnSections ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
ColumnSection
Caption Το λεκτικό που εμφανίζεται ως τίτλος του τμήματος.
Column
ID Ο α/α του στοιχείου ο οποίος θα πρέπει να είναι μοναδικός.
Caption Το λεκτικό που εμφανίζεται ως τίτλος του στοιχείου.
DataMember Η κολόνα της εντολής που αντιστοιχεί στο στοιχείο.
AggregateFunction Η συνάρτηση που θέλουμε να εφαρμοστεί επί των δεδομένων του στοιχείου. Το αποτέλεσμα της συνάρτησης εμφανίζεται αυτόματα στην περιοχή συνόλων του report.
Tag

Συμπληρώνοντας την ιδιότητα αυτή, το report εμπλουτίζεται με τη δυνατότητα του drill down. Δηλώνεται η προς εκτέλεση εντολή και οι «προδιαγραφές» εκτέλεσης της. Η σύνταξη θα πρέπει να είναι της μορφής

Command#ParamName@DataSource όπου

  • Command. Η προς εκτέλεση εντολή.
  • ParamName. Το όνομα της παραμέτρου. Οι διαθέσιμες τιμές είναι οι Current, Period, SalesPerson, UdfField1, UdfField2, UdfField3, UdfField4 & UdfField5 οι οποίες τροφοδοτούν τις αντίστοιχες μεταβλητές της προς εκτέλεση εντολής.
  • DataSource. Η κολόνα τροφοδότησης της εκάστοτε μεταβλητής.
Weight Το πλάτος του στοιχείου το οποίο καθορίζεται πάντα αναλογικά ως προς το σύνολο των προς εμφάνιση στοιχείων.

edit Παράδειγμα-1

Έστω για παράδειγμα ότι θέλουμε η DataGridReport οθόνη μας να εμφανίζει σε ένα τμήμα τα στοιχεία πελάτη: Επωνυμία, Υπόλοιπο, Ανοικτά αξιόγραφα, Τζίρος και Τελευταία χρώση-πίστωση.

MOB-ImplementationGuide-5 2-image174.png

edit Παράδειγμα-2

Έστω για παράδειγμα ότι θέλουμε να επεκτείνουμε την DataGridReport οθόνη μας έτσι ώστε να γίνεται ομαδοποίηση των δεδομένων βάσει της ABC κλάσης του πελάτη.

MOB-ImplementationGuide-5 2-image175.png

edit Παράδειγμα-3

MOB-ImplementationGuide-5 2-image177.pngMOB-ImplementationGuide-5 2-image178.pngΈστω για παράδειγμα ότι θέλουμε να επεκτείνουμε την DataGridReport οθόνη μας έτσι ώστε, εστιάζοντας σε μια εγγραφή, να γίνεται drill down σε DataGridReport οθόνη που εμφανίζει την καρτέλα του τρέχοντος πελάτη. Έστω επίσης ότι η εντολή της οθόνης αυτής είναι η SampleDataGridDrillDown.

Οθόνη E-mail

Σε οθόνη τύπου DataGridReport δίνεται η δυνατότητα αυτόματης σύνταξης E-mail με επισυναπτόμενο ένα αρχείο τύπου pdf στο οποίο απεικονίζονται τα στοιχεία του τρέχοντος report. Για την αξιοποίηση της λειτουργικότητας αυτής δεν απαιτούνται επιπλέον ρυθμίσεις πέρα από τη ρύθμιση των ιδιοτήτων της DataGridReport εντολής που σχετίζονται με την αυτόματη συμπλήρωση των αποδεκτών του E-mail (ιδιότητες MailRecipientSQL, MailCCRecipientSQL & MailBCCRecipientSQL).

Online reports

Τα online reports χρησιμοποιούνται για την υλοποίηση report που αντλεί πληροφόρηση σε απευθείας σύνδεση με τα κεντρικά. Ο τρόπος υλοποίησης ενός online report διαφοροποιείται ανάλογα με την εφαρμογή που θα επιλεγεί ως το εργαλείο κλήσης του report με διαθέσιμες επιλογές την ESMobile εφαρμογή (HTMLReport) ή την εφαρμογή ESAnalyzer (HybridReport).

ESMobile εφαρμογή (HTMLReport) MOB-ImplementationGuide-5 2-image1.png

Η οθόνη πληροφόρησης τύπου HTMLReport είναι διαθέσιμη μόνο σε iOS πλατφόρμα. Ο ορισμός των δεδομένων της οθόνης γίνεται σε επίπεδο EBS εφαρμογής και μέσω υλοποίησης του ανάλογου EBS scroller. Η μορφή εμφάνισης του report είναι προκαθορισμένη και προκύπτει από τον τύπο εντολής που θα χρησιμοποιηθεί για την κλήση του report με διαθέσιμες επιλογές αυτή της εμφάνισης των στοιχείων συγκεκριμένης εγγραφής υπό μορφή κάρτας (Card) και αυτή της εμφάνισης μιας λίστας εγγραφών υπό μορφή πίνακα (Grid). Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες της HTMLReport οθόνης ισχύουν τα παρακάτω.

Στοιχείο Σχόλιο
Εντολή HTMLReport τύπου Card
Απαιτείται η χρήση εντολής τύπου InfoCommand. Στην ιδιότητα Scroller δηλώνονται τα περιοχή / όνομα του EBS scroller ενώ στην ιδιότητα ParamName1 δηλώνεται το όνομα της παραμέτρου εκτέλεσης του EBS scroller. Σημειώνουμε εδώ ότι, αν θέλουμε την κλήση του online report επί επιλεγμένης εγγραφής, θα πρέπει ο EBS scroller να έχει μια μη ερωτώμενη παράμετρο η οποία να αντιστοιχεί στο μοναδικό κλειδί ταυτοποίησης της οντότητας από την οποία γίνεται η κλήση του online report.
HTMLReport τύπου Gid
Απαιτείται η χρήση εντολής τύπου HtmlScrollerCommand. Στις ιδιότητες ScrollerGroup & ScrollerID δηλώνονται η περιοχή & το όνομα του EBS scroller αντίστοιχα ενώ στην ιδιότητα ParamName δηλώνεται το όνομα της παραμέτρου εκτέλεσης του EBS scroller. Σημειώνουμε εδώ ότι, αν θέλουμε την κλήση του online report επί επιλεγμένης εγγραφής, θα πρέπει ο EBS scroller να έχει μια μη ερωτώμενη παράμετρο η οποία να αντιστοιχεί στο μοναδικό κλειδί ταυτοποίησης της οντότητας από την οποία γίνεται η κλήση του online report.

edit Παράδειγμα-Card

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια HTMLReport οθόνη η οποία να εμφανίζει τη συνολική διαθεσιμότητα στοκ του τρέχοντος είδους.

MOB-ImplementationGuide-5 2-image179.png

edit Παράδειγμα-Grid

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια HTMLReport οθόνη η οποία να εμφανίζει τη διαθεσιμότητα στοκ ανά αποθήκη για το τρέχον είδος.

MOB-ImplementationGuide-5 2-image181.png

Σημειώνουμε εδώ ότι σε iOS πλατφόρμα και σε προηγούμενες της 5.0 εκδόσεις της ESMobile εφαρμογής, η χρήση για τα online reports οθόνης τύπου HTMLReport ήταν η μοναδική επιλογή. Όμως, από την έκδοση 5.0 και μετά όπου δόθηκε και η δυνατότητα χρήσης οθόνης τύπου HybridReport συστήνεται πλέον ανεπιφύλακτα η αποφυγή χρήσης οθόνης τύπου HTMLReport. Τα βασικά πλεονεκτήματα της HybridReport οθόνης έναντι της HTMLReport είναι:

  • Παράμετροι report. Προσθήκη αυτόνομης περιοχής με τις παραμέτρους εκτέλεσης του report αλλά και δυνατότητα χρήσης παραμέτρου παντός τύπου (χρονικό διάστημα, λίστα επιλογής, λίστα πολλαπλής επιλογής κ.λπ.)

  • Μορφή εμφάνισης report. Διατήρηση των ρυθμίσεων που ορίζονται σε επίπεδο EBS scroller και αφορούν στη μορφοποίηση των στοιχείων του report (πλάτος στήλης, στοίχιση περιεχομένου, μορφή αριθμού κ.λπ.).

  • Τύποι εμφάνισης δεδομένων. Πέρα από τους τύπους εμφάνισης δεδομένων που υποστηρίζονται από την ESMobile εφαρμογή (Grid & Card) υποστηρίζονται και οι τύποι: Chart, Treemap, Pivot, Map & Combo.

Αναλυτικές οδηγίες τόσο για την ενεργοποίηση της εφαρμογής ESAnalyzer ως το εργαλείο κλήσης των online reports όσο και για την υλοποίηση οθόνης τύπου HybridReport δίνονται στην παρακάτω ενότητα.

Εφαρμογή ESAnalyzer (HybridReport)

Παράδειγμα SampleHybridReportGRID & SampleHybridReportPIVOT

Οι προϋποθέσεις που πρέπει να πληρούνται -σε επίπεδο εγκατάστασης- έτσι ώστε να υπάρχει η δυνατότητα χρήσης της εφαρμογής ESAnalyzer ως το εργαλείο κλήσης των online reports είναι:

  • Να υπάρχει η δυνατότητα εκτέλεσης της εφαρμογής Entersoft Online reports for Mobile Applications (ESAnalyzer).
  • Να υπάρχει στην περιοχή HybridWebReports της συσκευής υπό-φάκελος με τα αρχεία της τρέχουσας έκδοσης της εφαρμογής ESAnalyzer η οποία, στη φάση αυτή, είναι η 3.0.10.
  • Να υπάρχει στην περιοχή ESPublicQueries ή CSPublicQueries της EBS εφαρμογής, για κάθε έναν ESB scroller που αφορά σε online report, και το αντίστοιχο public query.
  • Να έχει γίνει ανάλογη συμπλήρωση των παρακάτω παραμέτρων κινητού. Σημειώνουμε εδώ ότι, ειδικά σε iOS πλατφόρμα και για διασφάλιση της συμβατότητας με προηγούμενες εκδόσεις, διατηρώντας κενό το περιεχόμενο των παραμέτρων αυτών δεν ενεργοποιείται και η «μετάβαση» στην εφαρμογή ESAnalyzer.
Παράμετρος κινητού Τιμή
HybridOnlineReports_BridgeID
HybridOnlineReports_Host api.entersoft.gr
HybridOnlineReports_SubscriptionID
HybridOnlineReports_SubscriptionPassword
HybridOnlineReports_Version 3.0.10

Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου HybridReport είναι:

Στοιχείο Σχόλιο
Εντολή Απαιτείται η χρήση εντολής τύπου HybridReportsCommand. Σημειώνουμε εδώ ότι, για λόγους συμβατότητας με προηγούμενες της 5.0 εκδόσεις της ESMobile εφαρμογής, υποστηρίζεται και η χρήση εντολής τύπου InfoCommand &. HtmlScrollerCommand όπου για την υλοποίηση τους ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην ενότητα HTMLReport.
Report Για την υλοποίηση της μορφής εμφάνισης του repot απαιτείται η χρήση αρχείου τύπου jason. Ειδικά στην περίπτωση της χρήσης εντολής τύπου HybridReportsCommand η δήλωση του jason αρχείου είναι υποχρεωτική καθότι η δήλωση της περιοχής & του ονόματος του EBS scroller γίνεται στις ιδιότητες GroupID & FilterID του αρχείου αυτού.

Δεδομένα

Ο ορισμός των δεδομένων του report γίνεται σε επίπεδο EBS εφαρμογής και μέσω υλοποίησης του ανάλογου EBS scroller. Επισημαίνουμε εδώ ότι, απαραίτητη είναι και η δημιουργία του αντίστοιχου public query. Όπως αναφέρθηκε και παραπάνω, στην περίπτωση της HybridReport οθόνης η δήλωση του EBS scroller γίνεται στο jason αρχείο της οθόνης οπότε η εντολή χρησιμοποιείται απλά για τη σύνδεση εντολής-report. Το αρχείο της εντολής θα πρέπει να βρίσκεται στον υπό-φάκελο Commands της περιοχής ESConfig ή CSConfig. Ιδιαίτερη προσοχή θα πρέπει να δοθεί ώστε το όνομα του αρχείου της εντολής να ταυτίζεται με το όνομα της εντολής μέσα στο αρχείο.

Ιδιότητα Σχόλιο
Title Το λεκτικό που εμφανίζεται ως τίτλος της HybridReport οθόνης.
FormID Ο φάκελος της περιοχής ESReports ή CSReports στον οποίο βρίσκεται το σχετιζόμενο με την οθόνη jason αρχείο του report. Επισημαίνουμε εδώ ότι, το όνομα του φακέλου και του jason αρχείου θα πρέπει να ταυτίζονται.

Μορφή εμφάνισης

Ο ορισμός της μορφής εμφάνισης του report γίνεται μέσω ανάλογης ρύθμισης της ιδιότητας ESUIType του jason αρχείου της οθόνης με διαθέσιμες τιμές τα: ESGrid, ESCard, ESChart, ESTreemap, ESPivot, ESMap & ESCombo. Οι περαιτέρω ρυθμίσεις του jason αρχείου διαφοροποιούνται ανάλογα με τη μορφή εμφάνισης που θα επιλεγεί. Σημειώνουμε εδώ ότι, οι αναλυτικές οδηγίες σύνταξης του jason αρχείου ξεπερνούν τα όρια του παρόντος εγχειριδίου και παρέχονται στο εγχειρίδιο της εφαρμογής ESAnalyzer.

edit Παράδειγμα-Grid

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια HybridReport οθόνη η οποία να εμφανίζει υπό μορφή Grid τα μεγέθη ποσότητα πωλήσεων & τζίρος ανά ομάδα ειδών.

MOB-ImplementationGuide-5 2-image182.png

edit Παράδειγμα-Pivot

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια HybridReport οθόνη η οποία να εμφανίζει υπό μορφή Pivot τα μεγέθη ποσότητα πωλήσεων & τζίρος ανά ομάδα ειδών.

MOB-ImplementationGuide-5 2-image184.png

Κυκλικός μετρητής (CircularGauge)

Η οθόνη Κυκλικός μετρητής (CircularGauge) χρησιμοποιείται για την υλοποίηση report που εμφανίζει πληροφόρηση υπό μορφή ποσοστιαίου δείκτη αντλώντας στοιχεία από την τοπική βάση δεδομένων. Η CircularGauge οθόνη μπορεί να λειτουργήσει είτε ως αυτόνομη οθόνη είτε ως διακριτό τμήμα μιαs Dashboard οθόνης. Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου CircularGauge είναι:

Στοιχείο Σχόλιο
Εντολή Απαιτείται η χρήση της ειδικού τύπου εντολής CircularGaugeCommand. Όσον αφορά στα στοιχεία που ορίζονται σε επίπεδο εντολής (δεδομένα, ταξινόμηση & αναζήτηση) ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για οθόνη τύπου ListForm. Το ιδιαίτερο όμως χαρακτηριστικό εντολής αυτού του τύπου αποτελεί το στοιχείο GaugeParams μέσω των επιμέρους ιδιοτήτων του οποίου καθορίζεται και η μορφή εμφάνισης της CircularGauge οθόνης.

Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες του στοιχείου GaugeParams ισχύουν τα παρακάτω.

Περιοχή Ιδιότητα / Σχόλιο
Στοιχεία κλίμακας
  • StartAngle-SweepAngle. Διαμόρφωση του μετρητή σε δείκτη πλήρως κυκλικό, ημικυκλικό ή τετάρτου.
  • StartValue-EndValue. Το εύρος του μετρητή.
  • Interval-MinorTicksPerInterval. Τα διαστήματα τιμών της κλίμακας.
  • RimColor-RimThickness. Το χρώμα-πάχος της κλίμακας.
  • LabelOffset-LabelColor-LabelFontSize. Η θέση και η μορφή εμφάνισης των ετικετών της κλίμακας.
Graphical user interface, application Description automatically generated
Περιοχές κλίμακας
  • StartValue-EndValue. Το εύρος της περιοχής.
  • Offset-Color-Thickness. Η θέση και η μορφή εμφάνισης της περιοχής.
Δείκτες κλίμακας
  • Value. Η τιμή που εκφράζεται μέσω του δείκτη.
  • LengthFactor. Το μήκος της βελόνας του δείκτη.
  • Color-Thickness. Η μορφή εμφάνισης της βελόνας του δείκτη.
  • KnobColor-KnobRadius. Το χρώμα-μέγεθος του κόμβου του δείκτη.

Home dashboard οθόνη (HomePage)

Η οθόνη Home dashboard (HomePage) χρησιμοποιείται ως εργαλείο εποπτικής πληροφόρησης αντλώντας στοιχεία από την τοπική βάση δεδομένων με κύριο χαρακτηριστικό της το ότι παρέχει τη δυνατότητα «συγκερασμού» όλων των διαθέσιμων μορφών εμφάνισης δεδομένων (λίστα, γράφημα & κυκλικός μετρητής). Η HomePage οθόνη αποτελεί πάντα μια αυτόνομη οθόνη, δηλαδή μια οθόνη που δεν συνδέεται με συγκεκριμένη λίστα εγγραφών.

Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου HomePage είναι:

Στοιχείο Σχόλιο
Εντολή Απαιτείται η χρήση εντολής τύπου DashboardCreatorCommand. Όσον αφορά στα στοιχεία που ορίζονται σε επίπεδο εντολής (δεδομένα, ταξινόμηση & αναζήτηση) ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για οθόνη τύπου ListForm.
Φόρμα Για την υλοποίηση της μορφής εμφάνισης της οθόνης απαιτείται η χρήση αρχείου τύπου AdvancedList.xml και αρχείου τύπου ExtraLayoutParams.xml. Όσον αφορά στον τρόπο ορισμού των αρχείων αυτών ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για οθόνη τύπου ListForm με τον περιορισμό όμως ότι για τον ορισμό των σελίδων-τμημάτων απαιτείται η χρήση του section ESTabs του ExtraLayoutParams αρχείου.

Ένα κλασικό παράδειγμα υλοποίησης οθόνης αυτού του τύπου αποτελεί η οθόνη που εμφανίζεται καλώντας την επιλογή Η εικόνα μου του κεντρικού μενού των εφαρμογών ES-SFA & ES-xVan.

MOB-ImplementationGuide-5 2-image187.PNGMOB-ImplementationGuide-5 2-image188.PNG

Ειδικές οθόνες

Στην ενότητα αυτή θα αναφερθούμε σε οθόνες της ESMobile εφαρμογής στις οποίες τόσο η λειτουργικότητα όσο και η μορφή εμφάνισης τους είναι σχετικά προκαθορισμένη με αποτέλεσμα να μην παρέχονται ιδιαίτερες δυνατότητες ρύθμισης των στοιχείων τους.

Κεντρικό μενού

Η σχεδίαση του κεντρικού μενού της ESMobile εφαρμογής γίνεται με τη χρήση του ειδικού τύπου αρχείου Home.xml της φόρμας με το όνομα HomeForm. Μέσω των επιμέρους στοιχείων του Home αρχείου, δίνεται η δυνατότητα ρύθμισης της δομής και των περιεχομένων του κεντρικού μενού έτσι ώστε να ανταποκρίνεται καλύτερα στις ανάγκες πλοήγησης του χρήστη. Το κεντρικό μενού απαρτίζεται από τρεις προκαθορισμένους τύπους στοιχείων:

  • Ομάδα επιλογών. Το στοιχείο τύπου ομάδα επιλογών (Group) αποτελεί το πρώτο επίπεδο του κεντρικού μενού και χρησιμοποιείται για τη συγκέντρωση ενός συνόλου ομοειδών επιλογών κάτω από ένα κοινό τίτλο.

  • Υπό-ομάδα επιλογών. Το στοιχείο τύπου υπό-ομάδα επιλογών (Submenu) αποτελεί το δεύτερο επίπεδο του κεντρικού μενού και χρησιμοποιείται για τη συγκέντρωση ενός συνόλου ομοειδών επιλογών κάτω από ένα κοινό τίτλο. Εστιάζοντας σε στοιχείο αυτού του τύπου, εμφανίζονται, υπό μορφή λίστας επιλογής, οι προς εκτέλεση εντολές.

  • Επιλογή. Το στοιχείο τύπου επιλογή (Command) αποτελεί το τρίτο και τελευταίο επίπεδο του κεντρικού μενού. Εστιάζοντας σε στοιχείο αυτού του τύπου, γίνεται μετάβαση στην οθόνη της ESMobile εφαρμογής στην οποία αναφέρεται το εκάστοτε στοιχείο.

Από πλευράς ρύθμισης του Home αρχείου η μόνη δυνατότητα που παρέχεται είναι αυτή μεταβολής των στοιχείων που περιλαμβάνει (προσθήκη ή αφαίρεση στοιχείου, μετονομασία στοιχείου κ.λπ.). Για τον τρόπο ορισμού και τις διαθέσιμες ιδιότητες, ανά τύπο στοιχείου, ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Group
Title Το λεκτικό που εμφανίζεται ως τίτλος του στοιχείου.
ID Αφορά αποκλειστικά στη διαδικασία μετάφρασης του προϊόντος (Translation key).
Submenu
ID Αφορά αποκλειστικά στη διαδικασία μετάφρασης του προϊόντος (Translation key).
System Αφορά αποκλειστικά στο προκαθορισμένο Home αρχείο της ESMobile εφαρμογής όπου ως «συστημικό» έχει χαρακτηριστεί το Submenu στοιχείο «Συγχρονισμός». Αποτέλεσμα της ρύθμισης αυτής είναι να έχει αφαιρεθεί πλήρως η δυνατότητα απόκρυψης του συγκεκριμένου στοιχείου.
Title Το λεκτικό που εμφανίζεται ως τίτλος του στοιχείου.
Icon Το εικονίδιο του στοιχείου.
Command Η ιδιότητα θα πρέπει να έχει κενό περιεχόμενο.
Command
ID Αφορά αποκλειστικά στη διαδικασία μετάφρασης του προϊόντος (Translation key).
System Αφορά αποκλειστικά στο προκαθορισμένο Home αρχείο της ESMobile εφαρμογής όπου ως «συστημικό» έχει χαρακτηριστεί το Command στοιχείο «Ρυθμίσεις». Αποτέλεσμα της ρύθμισης αυτής είναι να έχει αφαιρεθεί πλήρως η δυνατότητα απόκρυψης του συγκεκριμένου στοιχείου.
Title Το λεκτικό που εμφανίζεται ως τίτλος του στοιχείου.
Icon Το εικονίδιο του στοιχείου. Σημειώνουμε εδώ ότι, για τα στοιχεία που εντάσσονται κάτω από στοιχείο τύπου Submenu δεν εμφανίζεται εικονίδιο.
Command Η προς εκτέλεση εντολή.
PopToRoot Χαρακτηρισμός του στοιχείου ως κύριας οθόνης (true) ή ως προστιθέμενης στην ήδη υπάρχουσα «στοίβα» οθονών (false). Συστήνεται, για λόγους καλύτερης απόκρισης της ESMobile εφαρμογής, η αποφυγή της άκριτης χρήσης της τιμής false.

sign_warning Προσοχή

Από την έκδοση 4.0 της ESMobile εφαρμογής και μετά, για λόγους διευκόλυνσης της πρόσβασης στις διαδικασίες συγχρονισμού δεδομένων, έγινε μεταφορά όλων των ενεργειών του πλήκτρου Logo Description automatically generated-Συγχρονισμός της οθόνης Ημερολόγιο σε αντίστοιχες επιλογές του κεντρικού μενού. Παράλληλα, έγινε επέκταση της οθόνης «Ρυθμίσεις» έτσι ώστε να ενταχθούν σε αυτήν και όλες οι ενέργειες των υπόλοιπων πλήκτρων ελέγχου της οθόνης Ημερολόγιο.

Πλήκτρο Οθόνη Ρυθμίσεις
Icon Description automatically generated Πληροφορίες Εργασίες συντήρησης/ Πληροφορίες
Icon Description automatically generated with medium confidence Συνδεσιμότητα Συνδεσιμότητα
A picture containing text, clipart Description automatically generated Ρυθμίσεις Πληροφορίες έκδοσης/ Παράμετροι εφαρμογής

Ημερολόγιο

Η οθόνη Ημερολόγιο χρησιμοποιείται αποκλειστικά για την εμφάνιση εγγραφών της οντότητας Task υπό μορφή ετικέτας & πινέζας στο χάρτη. Για την υλοποίηση της οθόνης απαιτείται η χρήση εντολής τύπου FormCreatorCommand η οποία όμως πρέπει υποχρεωτικά να έχει το όνομα TaskListForm.xml. Τα ιδιαίτερο χαρακτηριστικό της οθόνης Ημερολόγιο είναι ότι συνοδεύεται απαραίτητα και από ένα «προσάρτημα» (αρχείο CalendarTaskSettings) το οποίο βρίσκεται στον υπό-φάκελο Settings της περιοχής με τα αρχεία της φόρμας Ημερολόγιο. Μέσω του αρχείου CalendarTaskSettings ρυθμίζονται στοιχεία που σχετίζονται τόσο με τη μορφή εμφάνισης της οθόνης όσο και με τη λειτουργικότητα της. Στην ενότητα αυτή θα αναφερθούμε στις ιδιότητες του συγκεκριμένου αρχείου.

Μορφή εμφάνισης

Για τη ρύθμιση των στοιχείων του αρχείου CalendarTaskSettings που σχετίζονται με τη μορφή εμφάνισης της οθόνης Ημερολόγιο ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
DefaultTab Η προτεινόμενη σελίδα του Ημερολογίου με διαθέσιμες τιμές τις 0-Ημέρα, 1-Εβδομάδα, 2-Μήνας & 3-Λίστα. Σημειώνουμε εδώ ότι, η σελίδα Λίστα είναι διαθέσιμη μόνο σε iOS πλατφόρμα.
DisableDayTab Απόκρυψη σελίδας «Ημέρα» (true) ή όχι (false).
DisableWeekTab Απόκρυψη σελίδας «Εβδομάδα» (true) ή όχι (false).
DisableMonthTab Απόκρυψη σελίδας «Μήνας» (true) ή όχι (false).
DisableListTab Απόκρυψη σελίδας «Λίστα» (true) ή όχι (false). Αφορά μόνο σε iOS πλατφόρμα.
DisableMap Απόκρυψη περιοχής χάρτη (true) ή όχι (false).
TimeInterval Το χρονικό διάστημα (σε λεπτά) «κατάτμησης» των ωρών μιας ημέρας. Δηλώνεται μόνο ακέραιος αριθμός.
TimeFormat Η μορφή εμφάνισης των ωρών μιας ημέρας.
VisitPlanTrayWidth Το πλάτος (σε ποσοστό) της οθόνης μαζικής εισαγωγής εργασιών. Δηλώνεται τιμή από 0 έως 1, όπου η τιμή 1 αντιστοιχεί στο 100% του πλάτους της οθόνης. Αφορά μόνο σε iOS πλατφόρμα.
BalloonTitle Η πληροφορία που εμφανίζεται ως περιεχόμενο σε ετικέτα & πινέζα. Η σύνταξη θα πρέπει να είναι της μορφής Column1-Column2-Column… όπου Column η εκάστοτε κολόνα του select query της TaskListForm εντολής.

Παράλληλα, παρέχεται και δυνατότητα ρύθμισης του χρώματος φόντου & κειμένου της ετικέτας. Οι προϋποθέσεις αξιοποίησης της δυνατότητας αυτής είναι:

  • Να έχει γίνει δήλωση του επιθυμητού χρώματος στα πεδία «Χρώμα φόντου» & «Χρώμα κειμένου» του τύπου εργασίας. Η δήλωση χρώματος γίνεται από τα κεντρικά και με χρήση του αντίστοιχου HEX αριθμού.
  • Να υπάρχουν, στο select query της TaskListForm εντολής, οι κολόνες BackgroundColor & TextColor

Τέλος, παρέχεται και δυνατότητα διαφοροποίησης χρώματος φόντου ή κειμένου βάσει συνθήκης. Για την αξιοποίηση της δυνατότητας αυτής αρκεί, οι κολόνες BackgroundColor ή TextColor του select query της TaskListForm εντολής να περιγράφουν την επιθυμητή συνθήκη.

MOB-ImplementationGuide-5 2-image193.pngedit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε, ενώ το προκαθορισμένο χρώμα κειμένου της ετικέτας είναι το μαύρο, ειδικά στην περίπτωση της ad hoc εργασίας να είναι το πορτοκαλί.

Λειτουργικότητα

Μαζική εισαγωγή εργασιών

Από το πλήκτρο A picture containing dark, night sky Description automatically generated-Νέα της οθόνης Ημερολόγιο παρέχεται η δυνατότητα μαζικής εισαγωγής εργασιών με διαθέσιμα τα εναλλακτικά σενάρια επιλογής εγγραφών από λίστα σημείων πώλησης ή από λίστα συναντήσεων. Πέρα από τα χρονικά πλαίσια δημιουργίας των εργασιών (ημερομηνία-ώρα έναρξης, λεπτά προετοιμασίας & διάρκειας) παρέχεται και η δυνατότητα επιλογής του προς εισαγωγή τύπου εργασίας. Η δήλωση των διαθέσιμων τύπων εργασίας γίνεται από τα κεντρικά και μέσω ρύθμισης του πεδίου «Εμφάνιση στο Ημερολόγιο» με διαθέσιμες τιμές τα 0-Όχι, 1-Εμφάνιση χωρίς δέσμευση χρόνου & 2-Εμφάνιση και δέσμευση χρόνου. Για τη ρύθμιση των στοιχείων του αρχείου CalendarTaskSettings που σχετίζονται με τη διαδικασία μαζικής εισαγωγής εργασιών ισχύουν τα παρακάτω.

Graphical user interface, application, Word Description automatically generated

Ιδιότητα Σχόλιο
NewAppFromSiteVisitPlanCommand Η εντολή που προκαλεί την εισαγωγή εργασιών με επιλογή από λίστα σημείων πώλησης. Απαιτείται χρήση της ειδικού τύπου εντολής SQLCommand. Η προκαθορισμένη από την ESMobile εφαρμογή εντολή είναι η NewAppFromSiteVisitPlan.
NewAppFromAppVisitPlanCommand Η εντολή που προκαλεί την εισαγωγή εργασιών με επιλογή από λίστα συναντήσεων. Απαιτείται χρήση της ειδικού τύπου εντολής SQLCommand. Η προκαθορισμένη από την ESMobile εφαρμογή εντολή είναι η NewAppFromAppVisitPlan.
VisitPlanCommand Η δήλωση των εναλλακτικών σεναρίων επιλογής εγγραφών. Απαιτείται χρήση της ειδικού τύπου εντολής VisitPlanCommand. Η προκαθορισμένη από την ESMobile εφαρμογή εντολή είναι η VisitPlanCommand.

information Σημείωση

Ειδικά στην iOS πλατφόρμα, για την ενεργοποίηση της συγκεκριμένης λειτουργικότητας θα πρέπει η παράμετρος κινητού Appointment_creator_enable να έχει την τιμή 1-Ναι. Επίσης, για να υπάρχει και δυνατότητα της επιλογής του προς εισαγωγή τύπου εργασίας θα πρέπει και η παράμετρος εταιρείας AppTodoAsTask να έχει την τιμή 1-Ναι.

Μαζική εισαγωγή εργασιών MOB-ImplementationGuide-5 2-image1.png

Ειδικά σε iOS πλατφόρμα και για λόγους συμβατότητας με παλαιότερες εκδόσεις της ESMobile εφαρμογής, παραμένει σε ισχύ και ένα περιορισμένης ευελιξίας σενάριο μαζικής εισαγωγής εργασιών. Ο βασικός περιορισμός του σεναρίου είναι ότι η διαδικασία είναι διαθέσιμη μόνο για τους τύπους εργασίας Συνάντηση, Εργασία, Είσπραξη & Εργασία εξυπηρέτησης. Για τη ρύθμιση των στοιχείων του αρχείου CalendarTaskSettings που σχετίζονται με το συγκεκριμένο σενάριο ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
NewAppointmentEnabled Ο τύπος εργασίας Συνάντηση είναι διαθέσιμος στη διαδικασία μαζικής εισαγωγής (true) ή όχι (false).
AppointmentPersonList Η εντολή που αφορά στην εμφάνιση της λίστας επιλογής εγγραφών. Απαιτείται χρήση εντολής τύπου InvFormCreatorCommand. Η προκαθορισμένη από την ESMobile εφαρμογή εντολή είναι η AppointmentSiteInvForm.
AppointmentNewCommand Η εντολή που προκαλεί την εισαγωγή συνάντησης στην περίπτωση της επιλογής μιας μόνο εγγραφής. Η προκαθορισμένη από την ESMobile εφαρμογή εντολή είναι η AppointmentSiteNewForm.
NewMultiAppointment Η εντολή που προκαλεί την εισαγωγή συναντήσεων στην περίπτωση της πολλαπλής επιλογής εγγραφών. Απαιτείται χρήση της ειδικού τύπου εντολής SQLCommand. Η προκαθορισμένη από την ESMobile εφαρμογή εντολή είναι η NewMultiAppointment.
* Οι ιδιότητες αυτές αφορούν στον τύπο εργασίας Συνάντηση πωλήσεων (Appointment). Αντίστοιχο σετ ιδιοτήτων υπάρχει και για τους τύπους εργασίας Εργασία πωλήσεων (ToDo), Είσπραξη (Collection) & Εργασία εξυπηρέτησης (SOS, ROS & PRM).

information Σημείωση

Για την ενεργοποίηση της συγκεκριμένης λειτουργικότητας θα πρέπει τόσο η παράμετρος εταιρείας AppTodoAsTask όσο και η παράμετρος κινητού Appointment_creator_enable να έχουν την τιμή 0-Όχι.

Πλάνο συναντήσεων

Από το πλήκτρο A black rectangle with a black background Description automatically generated with low confidence-Πλάνο της οθόνης Ημερολόγιο παρέχεται η δυνατότητα μαζικής εισαγωγής συναντήσεων βάσει προκαθορισμένου πλάνου. Για τη ρύθμιση των στοιχείων του αρχείου CalendarTaskSettings που σχετίζονται με τη διαδικασία αυτή ισχύουν τα παρακάτω.

Graphical user interface, application Description automatically generated

Ιδιότητα Σχόλιο
NewAppFromVisitPlanCommand Η εντολή που προκαλεί την εισαγωγή συναντήσεων. Απαιτείται χρήση της ειδικού τύπου εντολής SQLCommand. Η προκαθορισμένη από την ESMobile εφαρμογή εντολή είναι η NewAppFromSiteVisitPlan.
SVisitPlanCommand Η εντολή που αφορά στην εμφάνιση της λίστας επιλογής εγγραφών. Απαιτείται χρήση εντολής τύπου InvFormCreatorCommand. Η προκαθορισμένη από την ESMobile εφαρμογή εντολή είναι η VisitCalendarListForm. Σημειώνουμε εδώ ότι, η συμπλήρωση της ιδιότητας αυτής έχει σαν αποτέλεσμα και την προσθήκη του πλήκτρου A black rectangle with a black background Description automatically generated with low confidence-Πλάνο στο πάνω-δεξιά μέρος της οθόνης Ημερολόγιο.

Μαζική αντιγραφή εργασιών

Από το πλήκτρο A picture containing text, sign, outdoor, street Description automatically generated-Αντιγραφή της οθόνης Ημερολόγιο παρέχεται η δυνατότητα μαζικής αντιγραφής εργασιών μέσω επιλογής εγγραφών από λίστα εργασιών οι οποίες πληρούν το κριτήριο προεπιλεγμένου χρονικού διαστήματος. Για τη ρύθμιση των στοιχείων του αρχείου CalendarTaskSettings που σχετίζονται με τη διαδικασία αυτή ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
CopyAppListFormCommand Η εντολή που αφορά στην εμφάνιση της λίστας επιλογής εγγραφών. Απαιτείται χρήση εντολής τύπου InvFormCreatorCommand. Η προκαθορισμένη από την ESMobile εφαρμογή εντολή είναι η CopyAppListForm. Σημειώνουμε εδώ ότι, η συμπλήρωση της ιδιότητας αυτής έχει σαν αποτέλεσμα και την προσθήκη του πλήκτρου A picture containing text, sign, outdoor, street Description automatically generated-Αντιγραφή στο πάνω-δεξιά μέρος της οθόνης Ημερολόγιο.
CopyAppFromAppCommand Η εντολή που προκαλεί την εισαγωγή συναντήσεων. Απαιτείται χρήση της ειδικού τύπου εντολής SQLCommand. Η προκαθορισμένη από την ESMobile εφαρμογή εντολή είναι η CopyAppFromApp.
CopyAppCheckForHolidays Έλεγχος μη εργάσιμων ημερών (true) ή όχι (false).
CopyAppCheckForConflicts Έλεγχος επικάλυψης χρονικών ορίων (true) ή όχι (false).

Στοιχεία πινέζας

MOB-ImplementationGuide-5 2-image199.pngΕστιάζοντας επί πινέζας του χάρτη εμφανίζεται pop up οθόνη με τα στοιχεία του επιλεγμένου σημείου πώλησης. Στην περίπτωση που υπάρχουν εργασίες τύπου ES.PHOTO-Φωτογραφία με τον χαρακτηρισμό «Σημείο πώλησης», η οθόνη εμπλουτίζεται και με φωτογραφήσεις του σημείου.

Παράλληλα, παρέχεται η δυνατότητα εμφάνισης της χιλιομετρικής απόστασης ανάμεσα στην τρέχουσα θέση του χρήστη και του επιλεγμένου σημείου πώλησης. Ειδικά σε UWP & Android πλατφόρμα, η πληροφορία αυτή διατίθεται μέσω συγκεκριμένης υπηρεσίας της Google (Distance Matrix) οπότε για την εμφάνιση της θα πρέπει, στην παράμετρο εταιρείας «Κλειδί για χρήση της χαρτογραφικής υπηρεσίας της Google» (GoogleKey), να έχει δηλωθεί το κλειδί ενεργοποίησης της υπηρεσίας αυτής

Τέλος, πατώντας το πλήκτρο IconDescription automatically generated-Πληροφορίες, γίνεται μετάβαση στην Dashboard οθόνη του σημείου πώλησης ενώ πατώντας το πλήκτρο MOB-ImplementationGuide-5 2-image200.png-Δρομολόγηση γίνεται μετάβαση σε εξειδικευμένη Maps εφαρμογή με αυτόματα συμπληρωμένα τα σημεία αφετηρίας-προορισμού.

Σχετικά έγγραφα

Η οθόνη Σχετικά έγγραφα χρησιμοποιείται για τη διαχείριση των συνημμένων επί μιας εγγραφής αρχείων. Από την οθόνη διαχείρισης σχετικών εγγράφων παρέχεται η δυνατότητα λήψης συνημμένων από τα κεντρικά, επισύναψης αρχείου από τη συσκευή αλλά και επισκόπησης του περιεχομένου του εκάστοτε συνημμένου. Οι οντότητες για τις οποίες είναι διαθέσιμη η λειτουργικότητα των σχετικών εγγράφων είναι οι: Είδος, Πρόσωπο-Πελάτης-Διεύθυνση, Εργασία, Παραστατικό & Εξοδολόγιο.

information Σημείωση

  • Για να είναι εφικτή η αποστολή στα κεντρικά συνημμένων αρχείων που η πρωτογενής καταχώριση τους γίνεται από το χρήστη της συσκευής θα πρέπει να έχει οριστεί από τα κεντρικά αυτόματα παραγόμενος μετρητής για την οντότητα των σχετικών εγγράφων.

  • Για να είναι εφικτή η διαχείριση των συνημμένων ως μη αποθηκεύσιμα στη βάση δεδομένων (non-blob), απαιτούνται οι παρακάτω ρυθμίσεις:

  • Δήλωση στην παράμετρο εταιρείας «Αποθήκευση συσχετιζόμενων εγγράφων στον εξυπηρετητή» (SRVISBLOB) της τιμής Ναι.

  • Δήλωση στην παράμετρο εταιρείας «Φάκελος αποθήκευσης συσχετιζόμενων εγγράφων στον εξυπηρετητή» (SRVRELATEDDOCSPATH) της περιοχής …ESMobileData\ESSync\Memos του IIS Server.

Οι ρυθμίσεις αυτές εξασφαλίζουν τόσο η δυνατότητα της λήψης non-blob συνημμένων από τα κεντρικά όσο και αυτή της αποστολής των συνημμένων της συσκευής στα κεντρικά ως non-blob.

Λήψη συνημμένων

MOB-ImplementationGuide-5 2-image201.PNGMOB-ImplementationGuide-5 2-image202.PNGΠρόσβαση στην πλήρη, ανεξάρτητα οντότητας, λίστα διαχείρισης σχετικών εγγράφων παρέχεται από την επιλογή «Συνημμένα έγγραφα» του μενού «Συγχρονισμός». Παράλληλα, πατώντας το πλήκτρο Icon Description automatically generated-Συνημμένα της Dashboard οθόνης μιας οντότητας (π.χ. οντότητα Είδος), εμφανίζεται λίστα με το σύνολο των συνημμένων που αφορούν στην επιλεχθείσα εγγραφή. Ανεξάρτητα του σημείου της εφαρμογής από το οποίο θα γίνει η κλήση της οθόνης διαχείρισης σχετικών εγγράφων, πατώντας το πλήκτρο Icon Description automatically generated-Ενέργειες, δίνεται η δυνατότητα λήψης, από τα κεντρικά στο φάκελο memos της συσκευής, των αρχείων σχετικών εγγράφων. Με την ολοκλήρωση της διαδικασίας λήψης γίνεται αυτόματα και μεταβολή του εικονιδίου που χαρακτηρίζει τα προς λήψη έγγραφα (εικονίδιο MOB-ImplementationGuide-5 2-image204.png) με εικονίδιο που αντιστοιχεί στον ιδιαίτερο τύπο του κάθε εγγράφου. Οι διαθέσιμοι προς λήψη τύποι εγγράφων καθώς και το χαρακτηριστικό, ανά τύπο εγγράφου, εικονίδιο είναι:

MOB-ImplementationGuide-5 2-image205.png DOC MOB-ImplementationGuide-5 2-image206.png PDF Shape Description automatically generated with low confidence WAV
MOB-ImplementationGuide-5 2-image208.png XLS MOB-ImplementationGuide-5 2-image209.png HTML MOB-ImplementationGuide-5 2-image210.png URL διεύθυνση
MOB-ImplementationGuide-5 2-image211.png PPT MOB-ImplementationGuide-5 2-image212.png JPG ή PNG MOB-ImplementationGuide-5 2-image213.jpg Άλλο

Επισύναψη αρχείου

Πατώντας τα αντίστοιχα πλήκτρα-επιλογές της οθόνης διαχείρισης σχετικών εγγράφων, δίνεται η δυνατότητα καταχώρισης σχετικού εγγράφου τύπου εικόνα ή ήχος.

  • Εικόνα. Η επισύναψη αρχείου τύπου εικόνα γίνεται είτε μέσω επιλογής υπάρχουσας φωτογραφίας είτε μέσω κλήσης νέας φωτογράφησης. Κατά την ολοκλήρωση μιας νέας φωτογράφησης δίνεται και δυνατότητα συμπλήρωσης κάποιων πληροφοριακών στοιχείων (Περιγραφή, Κατηγορία & Ομάδα) επί του σχετικού εγγράφου. Σημειώνουμε εδώ ότι, ειδικά σε iOS πλατφόρμα, δηλώνοντας στην παράμετρο κινητού Memo_Disable_FolderButton την τιμή 1-Ναι, απενεργοποιείται η δυνατότητα επιλογής υπάρχουσας φωτογραφίας.

  • Ήχος. Η επισύναψη αρχείου τύπου ήχος γίνεται αποκλειστικά μέσω κλήσης νέας ηχογράφησης.

Επισύναψη αρχείου άλλου τύπου MOB-ImplementationGuide-5 2-image1.png

MOB-ImplementationGuide-5 2-image214.PNGΕιδικά σε iOS πλατφόρμα, δίνεται και η δυνατότητα επισύναψης αρχείου άλλου τύπου μέσα από το περιβάλλον της αντίστοιχης, με τον τύπο του αρχείου, εφαρμογής. Στην περίπτωση αυτή, ενεργοποιούμε σε πρώτη φάση την επιθυμητή εφαρμογή (π.χ. εφαρμογή Acrobat), επιλέγουμε το προς επισύναψη αρχείο, πατάμε το πλήκτρο Icon Description automatically generated«Ενέργειες» και καλούμε την ενέργεια «Open in…». Στη συνέχεια, επιλέγοντας από την οθόνη που εμφανίζεται το αντιπροσωπευτικό για την ESMobile εφαρμογή εικονίδιο, μεταβαίνουμε σε λίστα με τις διαθέσιμε οθόνες της ESMobile εφαρμογής. Τέλος, επιλέγοντας την επιθυμητή οθόνη, μεταβαίνουμε στην αναλυτική λίστα εγγραφών της από την οποία επιλέγεται η εγγραφή στην οποία θέλουμε να γίνει η επισύναψη του αρχείου.

Οι ListForm οθόνες της ESMobile εφαρμογής στις οποίες είναι διαθέσιμη η συγκεκριμένη λειτουργικότητα είναι προκαθορισμένη. Παρόλα αυτά, μέσω κατάλληλης ρύθμισης, δίνεται και η δυνατότητα επέκτασης της προκαθορισμένης λίστας οθονών. Για τις απαιτούμενες ρυθμίσεις ισχύουν τα παρακάτω.

  • Διαμόρφωση λίστας. Η διαμόρφωση της λίστας οθονών γίνεται στην εντολή OpenUrlListForm. Για την προσθήκη νέας οθόνης στη λίστα απαιτείται ανάλογη επέκταση του select query της συγκεκριμένης εντολής.
  • Ενεργοποίηση επέκτασης. Η ενεργοποίηση της λειτουργικότητας στη νέα οθόνη γίνεται μέσω ρύθμισης, σε επίπεδο της ListForm εντολής, της ιδιότητας EntityType με διαθέσιμες τιμές τις: 0-Εργασία, 3-Παραστατικό, 6-Πρόσωπο & 7-Διεύθυνση και της ιδιότητας EntityGIDfield στην οποία θα πρέπει να δηλωθεί η κολόνα του select query της ListForm εντολής που αποτελεί το μοναδικό κλειδί ταυτοποίησης μιας εγγραφής.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να κάνουμε διαθέσιμη τη δυνατότητα επισύναψης αρχείου άλλου τύπου και στη λίστα «Ανταγωνιστές» (command CompetitorListForm).

MOB-ImplementationGuide-5 2-image215.PNGMOB-ImplementationGuide-5 2-image216.PNG

Διαχείριση συνημμένου

Εστιάζοντας από την οθόνη διαχείρισης σχετικών εγγράφων σε συγκεκριμένη εγγραφή, γίνεται μετάβαση στην αντίστοιχη, ανάλογα με τον τύπο του εγγράφου, οθόνη επισκόπησης συνημμένου. Από το σημείο αυτό δίνεται και δυνατότητα αποστολής του εγγράφου μέσω email ή επισκόπησης του μέσα από το περιβάλλον άλλης εφαρμογής (π.χ. εφαρμογή Acrobat).

Από την οθόνη διαχείρισης σχετικών εγγράφων δίνεται και δυνατότητα διαγραφής συνημμένου. Το πλήκτρο διαγραφής εμφανίζεται επιλέγοντας το προς διαγραφή συνημμένο και κάνοντας ολίσθηση προς τα αριστερά. Ειδικά σε iOS πλατφόρμα, θα πρέπει να έχει προηγηθεί και το πάτημα του κεντρικού πλήκτρου «Διαγραφή».

information Σημείωση

Η διαγραφή συνημμένου έχει σαν αποτέλεσμα (α) τη διαγραφή του αρχείου από το φάκελο Memos της συσκευής και (β) τη διαγραφή της αντίστοιχης εγγραφής από τον πίνακα ES00Attachment της συσκευής. Στην περίπτωση βέβαια που το συνημμένο έχει σταλεί στα κεντρικά, θα πρέπει να φροντίσουμε ώστε η διαγραφή του να γίνει από τα κεντρικά.

Κοντινοί πελάτες

MOB-ImplementationGuide-5 2-image219.pngΗ οθόνη Κοντινοί πελάτες χρησιμοποιείται για την εμφάνιση υπό μορφή λίστας αλλά και πινέζας στο χάρτη των σημείων πώλησης που βρίσκονται σε συγκεκριμένη απόσταση από το τρέχον σημείο του χρήστη της συσκευής. Η προτεινόμενη χιλιομετρική ακτίνα δηλώνεται στο αντίστοιχο πεδίο της οθόνης «Ρυθμίσεις» (οθόνη Ρυθμίσεις/ Προφίλ λειτουργίας/ Χάρτης) αλλά, από τη συγκεκριμένη οθόνη, δίνεται και δυνατότητα περιορισμού ή διεύρυνσης της ακτίνας. Παράλληλα παρέχεται η δυνατότητα άμεσης κλήσης, από τη λίστα των σημείων πώλησης που πληρούν το κριτήριο της ακτίνας, της διαδικασίας μαζικής εισαγωγής συναντήσεων.

Η υλοποίηση της οθόνης Κοντινοί πελάτες γίνεται μέσω χρήσης της ειδικού τύπου εντολής NearestCustomersCommand όπου τα δεδομένα & η μορφή εμφάνισης της οθόνης είναι προκαθορισμένα.

Δεδομένα / Ιδιαίτερες ρυθμίσεις

Δίνεται η δυνατότητα, μέσω κατάλληλης ρύθμισης, διαφοροποίησης των προκαθορισμένων δεδομένων προς εμφάνιση. Για τις απαιτούμενες ρυθμίσεις ισχύουν τα παρακάτω.

  • Διαμόρφωση οθόνης. Η δήλωση των δεδομένων προς εμφάνιση γίνεται μέσω χρήσης μιας «κλασικής» ListForm οθόνης. Για να δοθεί όμως η δυνατότητα περιορισμού των δεδομένων βάσει χιλιομετρικής απόστασης απαιτείται, αφενός στο select query της εντολής να υπάρχουν οι κολόνες Latitude & Longitude και αφετέρου στην ιδιότητα Filter της εντολής, να εμπεριέχονται και οι μεταβλητές με το όνομα [LATITUDE], [LONGITUDE] & [RADIUS].
  • Ενεργοποίηση οθόνης. Για την ενεργοποίηση της οθόνης αρκεί να γίνει η δήλωση της ListForm εντολής, στην ιδιότητα NearestSiteListCommand της ειδικού τύπου εντολή NearestCustomersCommand.

Ερωτηματολόγιο

MOB-ImplementationGuide-5 2-image220.pngΗ οθόνη Ερωτηματολόγιο χρησιμοποιείται ως ένα μέσο συλλογής προσχεδιασμένης πληροφορίας είτε από τους πελάτες της εταιρείας είτε από ανώνυμους τρίτους.

Η υλοποίηση οθόνης Ερωτηματολόγιο γίνεται μέσω χρήσης της ειδικού τύπου εντολής NewQuestionnaireCommand όπου τα δεδομένα & η μορφή εμφάνισης της οθόνης είναι προκαθορισμένα.

Μενού πλήκτρο (ActionsCommand)

Η μόνη δυνατότητα επέκτασης της οθόνης Ερωτηματολόγιο είναι αυτή της προσθήκης του μενού πλήκτρου Icon Description automatically generated-Ενέργειες. Η επέκταση αυτή έρχεται να καλύψει την ανάγκη άμεσης εκτέλεσης κάποιων ενεργειών μέσα από το περιβάλλον της συγκεκριμένης οθόνης. Οι επιθυμητές ενέργειες προς εκτέλεση εμφανίζονται ως διακριτές επιλογές του μενού πλήκτρου.

Για τη διαμόρφωση του μενού πλήκτρου Icon Description automatically generated-Ενέργειες, ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται στην αντίστοιχη ενότητα οθόνης τύπου EdiForm.

Φωτογράφηση

MOB-ImplementationGuide-5 2-image221.pngMOB-ImplementationGuide-5 2-image222.pngΗ οθόνη Φωτογράφηση χρησιμοποιείται ως ένα μέσο αποτύπωσης υπό μορφή εικόνας πληροφορίας που συλλέγεται από τους πελάτες της εταιρείας.

Η υλοποίηση οθόνης Φωτογράφηση γίνεται μέσω χρήσης της ειδικού τύπου εντολής PhotoCommand όπου τα δεδομένα & η μορφή εμφάνισης της οθόνης είναι προκαθορισμένα και δεν παρέχεται καμία δυνατότητα επέμβασης σε αυτά. Σημειώνουμε εδώ ότι, τα δεδομένα της οθόνης Φωτογράφηση αποθηκεύονται στην οντότητα Task χρησιμοποιώντας ως τύπο εργασίας τον ES.PHOTO-Φωτογραφία ενώ τα αρχεία εικόνας αποθηκεύονται στο φάκελο Photos της συσκευής. Η σύνδεση μεταξύ εργασίας-εικόνας γίνεται μέσω του μοναδικού κωδικού ταυτοποίησης (πεδίο GID) της εγγραφής εργασίας.

Οθόνη μαζικής διαχείρισης (ModalForm)

Παράδειγμα SampleModalForm

Η οθόνη μαζικής διαχείρισης (ModalForm) εμφανίζει τα δεδομένα υπό μορφή λίστας και χρησιμοποιείται ως εργαλείο μαζικής εκτέλεσης ενέργειας επί του συνόλου των επιλεγμένων εγγραφών μιας λίστας. Σημειώνουμε εδώ ότι, κλήση της προς εκτέλεση ενέργειας γίνεται πατώντας το πλήκτρο Icon Description automatically generated-Επιλογή που εμφανίζεται στο πάνω-δεξιά μέρος της ModalForm οθόνης.

Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου ModalForm είναι:

Στοιχείο Σχόλιο
Εντολή Απαιτείται η χρήση εντολής τύπου InvFormCreatorCommand. Όσον αφορά στα στοιχεία που ορίζονται σε επίπεδο εντολής (δεδομένα, ταξινόμηση & αναζήτηση) ισχύουν σε γενικές γραμμές τα ίδια με αυτά που περιγράφονται για οθόνη τύπου ListForm. Στην ενότητα αυτή θα αναφερθούμε επιγραμματικά αλλά και χρησιμοποιώντας συγκεκριμένο παράδειγμα, στα σημεία εκείνα που διαφοροποιούνται και επομένως απαιτούν ιδιαίτερη προσοχή κατά την υλοποίηση οθόνης τύπου ModalForm.
Φόρμα Για την υλοποίηση της μορφής εμφάνισης της οθόνης απαιτείται η χρήση αρχείου τύπου AdvancedList.xml. Όσον αφορά στον τρόπο ορισμού των στοιχείων εμφάνισης της περιοχής δεδομένων ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για οθόνη τύπου ListForm.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια οθόνη η οποία να εμφανίζει τις εκκρεμείς εργασίες δίνοντας ταυτόχρονα τη δυνατότητα μαζικής ενημέρωσης του πεδίου «Κατάσταση» εργασίας. Έστω επίσης ότι η ενέργεια της μαζικής ενημέρωσης έχει υλοποιηθεί μέσω της εντολής SampleModalFormAction.

Graphical user interface, application Description automatically generated

Δεδομένα / Ιδιαίτερες ρυθμίσεις

Για τις ρυθμίσεις σε επίπεδο εντολής, σε συνδυασμό με αυτά που ισχύουν για οθόνη τύπου ListForm, ισχύουν και τα παρακάτω.

  • Τύπος. Θα πρέπει να γίνει χρήση εντολής τύπου InvFormCreatorCommand.
  • Δεδομένα. Θα πρέπει η πρώτη κολόνα του select query να αποτελεί το μοναδικό κλειδί ταυτοποίησης μιας εγγραφής της λίστας και η κολόνα αυτή θα πρέπει να έχει το όνομα GID. Για το παράδειγμα μας δηλαδή, θα πρέπει να υπάρχει στο select query κολόνα με το όνομα GID η οποία να αναφέρεται στο πεδίο GID του πίνακα ESTMTask.
  • Ιδιότητες εντολής
Ιδιότητα Σχόλιο
Modal Θα πρέπει να δηλωθεί η τιμή true.
MultiSelect Θα πρέπει να δηλωθεί η τιμή true έτσι ώστε να υπάρχει η δυνατότητα πολλαπλής επιλογής εγγραφών.
SelectaAllEnabled Στην περίπτωση που θέλουμε να υπάρχει και δυνατότητα μαζικής επιλογής εγγραφών, δηλώνεται η τιμή true.
OnSelectCommand Η εντολή που αφορά στην προς εκτέλεση ενέργεια. Απαιτείται χρήση της ειδικού τύπου εντολής SQLCommand. Το ιδιαίτερο χαρακτηριστικό εντολής αυτού του τύπου είναι ότι παρέχει τη δυνατότητα κλήσης ενός insert, update ή delete query. Για το παράδειγμα μας δηλαδή, θα πρέπει να δηλωθεί η εντολή SampleModalFormAction.
DoneButtonTitle Στην περίπτωση που θέλουμε μετονομασία του πλήκτρου Icon Description automatically generated-Επιλογή, δηλώνεται το επιθυμητό λεκτικό. Αφορά μόνο σε iOS πλατφόρμα.

information Σημείωση

Οι επιπλέον προϋποθέσεις που πρέπει να πληρούνται έτσι ώστε να ενεργοποιηθούν τα ιδιαίτερα χαρακτηριστικά της ModalForm οθόνης είναι:

  • Απευθείας κλήση της οθόνης από επιλογή του κεντρικού μενού ή της dashboard οθόνης. Ειδικά στην περίπτωση κλήσης από το κεντρικό μενού, θα πρέπει στην ιδιότητα PopToRoot να δηλωθεί η τιμή false.

  • Μη προσθήκη του ExtraLayoutParams.xml αρχείου στο φάκελο της ModalForm φόρμας.

  • Ειδικά σε iOS πλατφόρμα, θα πρέπει στο AdvancedList αρχείο της φόρμας να οριστεί διακριτό RowTemplate για την επιλεγμένη εγγραφή (Selected RowTemplate).

Οθόνη φωτο-κατάλογος (CollectionView) MOB-ImplementationGuide-5 2-image1.png

Η οθόνη φωτο-κατάλογος (CollectionView) χρησιμοποιείται συνήθως για την εμφάνιση δεδομένων υπό μορφή εικόνας δίνοντας ταυτόχρονα, εστιάζοντας επί εγγραφής, και τις παρακάτω δυνατότητες:

  • Μετάβαση σε άλλη οθόνη για άντληση επιπλέον πληροφόρησης.

  • Άμεση εκτέλεση μιας σειράς ενεργειών.

Η CollectionView οθόνη μπορεί να λειτουργήσει είτε ως αυτόνομη οθόνη είτε ως εργαλείο αναζήτησης & επιλογής εγγραφών με στόχο την καταχώρηση τους στις γραμμές εργασίας-παραστατικού. Τα στοιχεία που απαιτούνται για την υλοποίηση οθόνης τύπου CollectionView είναι:

Στοιχείο Σχόλιο
Εντολή Απαιτείται η χρήση της ειδικού τύπου εντολής CollectionViewCommand. Το ιδιαίτερο χαρακτηριστικό εντολής αυτού του τύπου αποτελεί το στοιχείο Gallery μέσω των επιμέρους ιδιοτήτων του οποίου καθορίζεται τόσο η λειτουργικότητα όσο και η μορφή εμφάνισης της CollectionView οθόνης.

information Σημείωση

Οι αναλυτικές οδηγίες υλοποίησης οθόνης τύπου CollectionView ξεπερνούν τα όρια του παρόντος εγχειριδίου και παρέχονται στο εγχειρίδιο MOB-PhotoGallery που συνοδεύει την ESMobile εφαρμογή.

Ιστοσελίδα

Παράδειγμα SampleWebSite

Η οθόνη Ιστοσελίδα χρησιμοποιείται ως ένα μέσο άμεσης μετάβασης, μέσα από το περιβάλλον της ESMobile εφαρμογής, σε κάποια προκαθορισμένη ιστοσελίδα.

Η υλοποίηση οθόνης Ιστοσελίδα γίνεται μέσω χρήσης της ειδικού τύπου εντολής WebViewCommand. Το ιδιαίτερο χαρακτηριστικό εντολής αυτού του τύπου είναι ότι παρέχει τη δυνατότητα κλήσης συγκεκριμένης ηλεκτρονικής διεύθυνσης. Οι προς ρύθμιση ιδιότητες της εντολής είναι:

Ιδιότητα Σχόλιο
Title Το λεκτικό που εμφανίζεται ως τίτλος της οθόνης.
URL

Το URL της επιθυμητής ιστοσελίδας (π.χ. http://www.entersoft.gr). Ειδικά στην περίπτωση που η κλήση της εντολής από λίστα ειδών, δίνεται και δυνατότητα σύνθεσης του URL δυναμικά βάσει του κωδικού του επιλεγμένου είδους. Στην περίπτωση αυτή η δήλωση θα πρέπει να είναι της μορφής

<Url Type="System.String" Value="http://MyURL/{0}.html"/>

όπου το σκέλος {0} συμπληρώνεται δυναμικά με τον κωδικό του επιλεγμένου είδους.

LocalFile Ανίχνευση της ιστοσελίδας επί της συσκευής (true) ή στο διαδίκτυο (false).
NavigationBarHidden Πλήρης επικάλυψη της οθόνης της ESMobile εφαρμογής από αυτή της ιστοσελίδας (true) ή όχι (false). Στην περίπτωση που επιλεγεί η πλήρης επικάλυψη, έξοδος από την ιστοσελίδα και επιστροφή στο περιβάλλον της ESMobile εφαρμογής γίνεται πατώντας τριπλό «κλικ». Αφορά μόνο σε iOS πλατφόρμα.

Business Rules

Μέσω του εργαλείου Business Rules (BRs) παρέχεται η δυνατότητα ορισμού εξειδικευμένων κανόνων που αποσκοπούν στην επέκταση της προϊοντικής λειτουργικότητας της ESMobile εφαρμογής σε σχέση με τις οντότητες Εργασία (Task) ή Παραστατικό (Document).

Η υλοποίηση των BRs γίνεται σε ειδικού τύπου αρχεία τα οποία ακολουθούν μια συγκεκριμένη ονοματολογία και βρίσκονται σε προκαθορισμένο φάκελο της περιοχής ESConfig ή CSConfig. Συγκεκριμένα, ανά οντότητα, ισχύουν τα παρακάτω:

Οντότητα Φάκελος Ονοματολογία
Task BusinessRules/ Tasks

InternationalID_Rules.xml

όπου το σκέλος InternationalID θα πρέπει να ταυτίζεται με τον διεθνή κωδικό του εκάστοτε τύπου εργασίας στον οποίο θέλουμε την εφαρμογή του BR. Ιδιαίτερη προσοχή θα πρέπει να δοθεί ώστε το InternationalID να δηλώνεται πάντα με πεζούς χαρακτήρες (π.χ. es.mdh_Rules.xml για εργασία τύπου Μέτρηση).

Document BusinessRules/ Documents

ID_Rules.xml

όπου το σκέλος ID θα πρέπει να ταυτίζεται με τον κωδικό του εκάστοτε τύπου παραστατικού στον οποίο θέλουμε την εφαρμογή του BR (π.χ. 1_Rules.xml για παραστατικό τύπου Παραγγελία).

information Σημείωση

Η ESMobile εφαρμογή συνοδεύεται και από κατάλληλα διαμορφωμένο wizard μέσω του οποίου παρέχεται στο χρήστη συστηματική καθοδήγηση κατά την υλοποίηση Business Rule.

Σύνταξη BR

Η λειτουργικότητα που προσδίδει ένα BR καθώς και τα στοιχεία προς ρύθμιση διαφοροποιούνται σημαντικά ανάλογα με τον τύπο του BR. Οι διαθέσιμοί τύποι BR είναι:

  • 0-Ανάθεση. Το BR έχει σαν αποτέλεσμα την ανάθεση τιμής σε πεδίο της επικεφαλίδας ή της γραμμής της εκάστοτε οντότητας. Οι απαιτούμενες ρυθμίσεις ορίζονται στο στοιχείο OnChangeField.

  • 1-Έλεγχος. Το BR έχει σαν αποτέλεσμα την ενεργοποίηση ελέγχου εγκυρότητας επί των δεδομένων της εκάστοτε οντότητας με δυνατότητα είτε εμφάνισης μηνύματος προειδοποίησης είτε διακοπής της διαδικασίας. Οι απαιτούμενες ρυθμίσεις ορίζονται στο στοιχείο Validate.

  • 2-Εκτέλεση. Το BR έχει σαν αποτέλεσμα την άμεση κλήση, με την αποθήκευση της εκάστοτε οντότητας, μιας διαδικασίας προς εκτέλεση Οι απαιτούμενες ρυθμίσεις ορίζονται στο στοιχείο Execute.

Στην ενότητα αυτή γίνεται αρχικά μια συνοπτική παράθεση των διαθέσιμων, ανά τύπο BR, στοιχείων προς ρύθμιση καθώς και κάποιων γενικών «αρχών» που διέπουν τη ρύθμιση τους ενώ στη συνέχεια δίνονται αναλυτικές οδηγίες υλοποίησης BR παντός τύπου.

Action Activation ScriptType
Η ιδιότητα Action καθορίζει τον τύπο του BR με διαθέσιμες επιλογές τα: Η ιδιότητα Activation καθορίζει το «γεγονός» που προκαλεί την εκτέλεση του BR με διαθέσιμες επιλογές τα: Η ιδιότητα ScriptType λειτουργεί σε συνδυασμό με την ιδιότητα Script και προδιαγράφει το αποτέλεσμα του BR με διαθέσιμες επιλογές τα:

0-Ανάθεση

<BusinessRule Title="…"

Entity=""

Action="0"

Activation="">

<ExecutionConditions/>

<OnChangeField

Entity=""

Field=""

ScriptType=""

Script=""

AssignToHeader=""

AssignField=""/>

</BusinessRule>

0-OnChangeField

2-OnSave

1-OnAddLine

3-OnLoad

4-OnLoadDetail

7-OnAboutToSave

0-Formula

1-SQL

2-Constant value

1-Έλεγχος

<BusinessRule Title="…"

Entity=""

Action="1"

Activation="">

<ExecutionConditions/>

<Validate

Entity=""

Field=""

ScriptType=""

Script=""

Operator=""

ErrorType=""

Caption=""/>

</BusinessRule>

2-OnSave

5-OnEdit

1-SQL

3-Validation script

4-Regular expression

5-Duplicate line values check

6-Validate same values

7- Validate any values of

9-Validate Subtotals

2-Εκτέλεση

<BusinessRule Title="…"

Entity=""

Action="2"

Activation="">

<ExecutionConditions/>

< Execute

Entity=""

ScriptType=""

Script=""

</BusinessRule>

6-AfterSave

1-SQL

8-Command

Γενικές αρχές

Οντότητες BR

Διαθέσιμες προς χρήση σε BR είναι οι οντότητες:

  • Επικεφαλίδα εργασίας & παραστατικού (ESFISalesDocument & ESTMTask αντίστοιχα).
  • Γραμμή εργασίας & παραστατικού (ESTMTaskItem & ESFISalesDocLineItem αντίστοιχα).

Σύνταξη BR script
  • Το περιεχόμενο του BR script είναι case sensitive.
  • Κατά τη σύνταξη του BR script η αναφορά σε πεδίο οντότητας θα πρέπει να είναι της μορφής [TableName].[FieldName].
  • Πέρα από τα πεδία οντότητας, διαθέσιμες κατά τη σύνταξη του BR script είναι και παρακάτω ειδικές συναρτήσεις:
  • ESSSum. H συνάρτηση ESSum υπολογίζει το άθροισμα των τιμών ενός πεδίου. Η σύνταξη της συνάρτησης θα πρέπει να είναι της μορφής: ESSum | [TableName].[FieldName] |

  • ESSumWhere. H συνάρτηση ESSumWhere υπολογίζει το άθροισμα των τιμών ενός πεδίου (1ο σκέλος) που έχουν σε ένα πεδίο (2ο σκέλος) μια συγκεκριμένη τιμή (3ο σκέλος). Η σύνταξη της συνάρτησης θα πρέπει να είναι της μορφής: ESSumWhere | [TableName].[FieldName] | [TableName].[FieldName] | Value |

  • ESCountWhere. H συνάρτηση ESCountWhere υπολογίζει το πλήθος των εγγραφών που έχουν σε ένα πεδίο (1ο σκέλος) μια συγκεκριμένη τιμή (2ο σκέλος). Η σύνταξη της συνάρτησης θα πρέπει να είναι της μορφής:

ESCountWhere | [TableName].[FieldName] | Value |

  • Ειδικά στην περίπτωση BR script τύπου 1-SQL, παρέχεται η δυνατότητα ορισμού αυτόνομου script το οποίο χρησιμοποιείται από περισσότερα του ενός BRs. Για την αξιοποίηση της δυνατότητας αυτής απαιτείται ορισμός του αυτόνομου script στο section BusinessScripts και δήλωση του ID του στην ιδιότητα ScriptID του εκάστοτε BR. Κλήση του αυτόνομου BR script μπορεί να γίνει από οποιοδήποτε στοιχείο ενός BR (OnChangeField, Validate, Execute & ExecutionConditions). Σημειώνουμε εδώ ότι, σε μια τέτοια περίπτωση θα πρέπει η ιδιότητα Script να έχει κενό περιεχόμενο.

Action: 0-Ανάθεση

Το BR τύπου 0-Ανάθεση έχει σαν αποτέλεσμα την ανάθεση τιμής σε πεδίο της επικεφαλίδας ή της γραμμής της εκάστοτε οντότητας και οι ρυθμίσεις του γίνονται στο στοιχείο OnChangeField. Οι αρχές υλοποίησης BR αυτού του τύπου διαφοροποιούνται σημαντικά ανάλογα με τον τύπο Activation.

Activation: 0-OnChangeField

Ιδιότητα Σχόλιο
Action
Activation Θα πρέπει να δηλωθεί η τιμή 0. Δήλωση της τιμής αυτής έχει σαν αποτέλεσμα την εκτέλεση του BR σε κάθε μεταβολή του πεδίου που δηλώνεται στην ιδιότητα Field.
Entity Μπορεί να δηλωθεί η οντότητα Επικεφαλίδα ή η οντότητα Γραμμή.
Activation
Entity Θα πρέπει να ταυτίζεται με την οντότητα που δηλώνεται στο Action.
Field Το πεδίο με την αλλαγή του οποίου προκαλείται η εκτέλεση του BR. Θα πρέπει να δηλωθεί κάποιο από τα πεδία της Activation οντότητας. Σημειώνουμε εδώ ότι, διαθέσιμα προς χρήση είναι και τα non store πεδία της οντότητας Γραμμή (πεδία ExtNumericField1 - 5, ExtDateField1 – 5 & ExtStringField1 – 10).
AssignField

Το πεδίο στο οποίο γίνεται η ανάθεση τιμής. Θα πρέπει να δηλωθεί κάποιο από τα πεδία της Activation οντότητας. Σημειώνουμε εδώ ότι,

  • Διαθέσιμα προς χρήση είναι και τα non store πεδία της οντότητας Γραμμή (πεδία ExtNumericField1 - 5, ExtDateField1 – 5 & ExtStringField1 – 10).
  • Παρέχεται η δυνατότητα ανάθεσης τιμής από πεδίο Γραμμής σε πεδίο Επικεφαλίδας. Για την αξιοποίηση της δυνατότητας αυτής αρκεί η ιδιότητα AssignToHeader να έχει την τιμή true.
  • Παρέχεται και η δυνατότητα διαφοροποίησης βάσει συνθήκης του πεδίου στο οποίο γίνεται η ανάθεση τιμής. Για την αξιοποίηση της δυνατότητας αυτής απαιτείται αφενός η δήλωση της τιμής 1 στην ιδιότητα AssignFieldScriptType και αφετέρου η δήλωση, στην ιδιότητα AssignField, του επιθυμητού SQL query ανάθεσης.
ScriptType & Script Το «σενάριο» βάσει του οποίου γίνεται η ανάθεση τιμής. Επισημαίνουμε εδώ ότι, το περιεχόμενο και ο τρόπος σύνταξης της ιδιότητας Script διαφοροποιείται σημαντικά ανάλογα με την τιμή που επιλέγεται στην ιδιότητα ScriptType. Οι διαθέσιμες επιλογές είναι:
  • ScriptType: 0-Formula

Μαθηματική πράξη που κάνει χρήση πεδίου της οντότητας και των σύμβολων +, -, /, *, (), “.

edit
  • ScriptType: 1-SQL

SQL query το οποίο να επιστρέφει μια εγγραφή με μια κολόνα.

edit
  • ScriptType: 2-Constant value

Σταθερά τιμή

edit
ScriptID Το ID του αυτόνομου script. Οι απαιτούμενες ρυθμίσεις της ιδιότητας περιγράφονται στην ενότητα με τις γενικές αρχές σύνταξης script.

edit Παράδειγμα-οντότητα Επικεφαλίδα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε ένα BR το οποίο να πληροί τις παρακάτω προδιαγραφές:

  • Να γίνεται σύνθεση κειμένου το οποίο να αποτελείται από ένα σταθερό λεκτικό και το πεδίο «Διεύθυνση» της Επικεφαλίδας. Το αποτέλεσμα να ανατίθεται στο πεδίο «Θέμα» της επικεφαλίδας.
  • Η διαδικασία σύνθεσης & ανάθεσης να εκτελείται σε κάθε μεταβολή του πεδίου «Διεύθυνση» της επικεφαλίδας.

edit Παράδειγμα-οντότητα Γραμμή

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε ένα BR το οποίο να πληροί τις παρακάτω προδιαγραφές:

  • Να υπολογίζεται ένα ποσό το οποίο να προκύπτει από το πεδίο «Ποσότητα» της γραμμής και το πεδίο «Ελάχιστη ποσότητα παραγγελίας» του είδους. Το αποτέλεσμα να ανατίθεται στο πεδίο «Ποσότητα παραγγελίας» της γραμμής.
  • Η διαδικασία υπολογισμού & ανάθεσης να εκτελείται σε κάθε μεταβολή του πεδίου «Ποσότητα» της γραμμής.

edit Παράδειγμα-AssignToHeader

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε ένα BR το οποίο να πληροί τις παρακάτω προδιαγραφές:

  • Να υπολογίζεται το σύνολο του πεδίου «Ποσότητα» των γραμμών. Το αποτέλεσμα να ανατίθεται στο πεδίο «Αριθμός-1» της επικεφαλίδας.
  • Η διαδικασία υπολογισμού & ανάθεσης να εκτελείται σε κάθε μεταβολή του πεδίου «Ποσότητα» της γραμμής.

edit Παράδειγμα-AssignFieldScriptType

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε ένα BR το οποίο να πληροί τις παρακάτω προδιαγραφές:

  • Να υπολογίζεται το σύνολο του πεδίου «Ποσότητα» των γραμμών ανά ομάδα είδους. Το αποτέλεσμα της κάθε ομάδας να ανατίθεται σε άλλο πεδίο της γραμμής.

  • Η διαδικασία υπολογισμού & ανάθεσης να εκτελείται σε κάθε μεταβολή του πεδίου «Ποσότητα» της γραμμής.

Activation: 1-OnAddLine

Ιδιότητα Σχόλιο
Action
Activation Θα πρέπει να δηλωθεί η τιμή 1. Δήλωση της τιμής αυτής έχει σαν αποτέλεσμα την εκτέλεση του BR κατά την εισαγωγή γραμμής.
Entity Θα πρέπει να δηλωθεί η οντότητα Επικεφαλίδα.
Activation
Entity Θα πρέπει να δηλωθεί η οντότητα Γραμμή (προφανώς αυτή που σχετίζεται με την οντότητα Επικεφαλίδα του Action).
Field Μη διαθέσιμη ιδιότητα.
AssignField Το πεδίο στο οποίο γίνεται η ανάθεση τιμής. Για τις δυνατότητες ρύθμισης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για Activation τύπου 0-OnChangeField του BR τύπου 0-Ανάθεση.
ScriptType & Script Το «σενάριο» βάσει του οποίου γίνεται η ανάθεση τιμής. Για τις δυνατότητες ρύθμισης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για Activation τύπου 0-OnChangeField του BR τύπου 0-Ανάθεση.
ScriptID Το ID του αυτόνομου script. Οι απαιτούμενες ρυθμίσεις της ιδιότητας περιγράφονται στην ενότητα με τις γενικές αρχές σύνταξης script.

Activation: 2-OnSave

Ιδιότητα Σχόλιο
Action
Activation Θα πρέπει να δηλωθεί η τιμή 2. Δήλωση της τιμής αυτής έχει σαν αποτέλεσμα την εκτέλεση του BR κατά την αποθήκευση της οντότητας.
Entity Θα πρέπει να δηλωθεί η οντότητα Επικεφαλίδα.
Activation
Entity Μπορεί να δηλωθεί η οντότητα Επικεφαλίδα ή η οντότητα Γραμμή. Επισημαίνουμε εδώ ότι, δηλώνοντας ως Activation οντότητα τη Γραμμή, το BR εκτελείται διαδοχικά για κάθε μια από τις γραμμές της οντότητας που αποθηκεύεται.
Field Μη διαθέσιμη ιδιότητα.
AssignField Το πεδίο στο οποίο γίνεται η ανάθεση τιμής. Για τις δυνατότητες ρύθμισης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για Activation τύπου 0-OnChangeField του BR τύπου 0-Ανάθεση. Εξαίρεση αποτελεί η δυνατότητα ανάθεσης τιμής από πεδίο Γραμμής σε πεδίο Επικεφαλίδας (ιδιότητα AssignToHeader) η οποία δεν είναι διαθέσιμη σε Activation αυτού του τύπου.
ScriptType & Script Το «σενάριο» βάσει του οποίου γίνεται η ανάθεση τιμής. Για τις δυνατότητες ρύθμισης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για Activation τύπου 0-OnChangeField του BR τύπου 0-Ανάθεση.
ScriptID Το ID του αυτόνομου script. Οι απαιτούμενες ρυθμίσεις της ιδιότητας περιγράφονται στην ενότητα με τις γενικές αρχές σύνταξης script.

Activation: 3-OnLoad

Ιδιότητα Σχόλιο
Action
Activation Θα πρέπει να δηλωθεί η τιμή 3. Δήλωση της τιμής αυτής έχει σαν αποτέλεσμα την εκτέλεση του BR κατά την προβολή ήδη καταχωρημένης οντότητας.
Entity Μπορεί να δηλωθεί η οντότητα Επικεφαλίδα ή η οντότητα Γραμμή.
Activation
Entity Μη διαθέσιμη ιδιότητα.
Field Μη διαθέσιμη ιδιότητα.
AssignField Το πεδίο στο οποίο γίνεται η ανάθεση τιμής. Δηλώνεται υποχρεωτικά κάποιο πεδίο της οντότητας Επικεφαλίδα.
ScriptType & Script Το «σενάριο» βάσει του οποίου γίνεται η ανάθεση τιμής. Για τις δυνατότητες ρύθμισης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για Activation τύπου 0-OnChangeField του BR τύπου 0-Ανάθεση.
ScriptID Το ID του αυτόνομου script. Οι απαιτούμενες ρυθμίσεις της ιδιότητας περιγράφονται στην ενότητα με τις γενικές αρχές σύνταξης script.

Activation: 4-OnLoadDetail

Ιδιότητα Σχόλιο
Action
Activation Θα πρέπει να δηλωθεί η τιμή 4. Δήλωση της τιμής αυτής έχει σαν αποτέλεσμα την εκτέλεση του BR κατά την προβολή ήδη καταχωρημένης γραμμής. Σημειώνουμε εδώ ότι, ο συγκεκριμένος τύπος Activation έχει κυρίως χρησιμότητα όταν η ανάθεση τιμής γίνεται σε non store πεδίο της οντότητας Γραμμή.
Entity Θα πρέπει να δηλωθεί η οντότητα Επικεφαλίδα.
Activation
Entity Θα πρέπει να δηλωθεί η οντότητα Γραμμή (προφανώς αυτή που σχετίζεται με την οντότητα Επικεφαλίδα του Action).
Field Μη διαθέσιμη ιδιότητα.
AssignField Το πεδίο στο οποίο γίνεται η ανάθεση τιμής. Για τις δυνατότητες ρύθμισης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για Activation τύπου 0-OnChangeField του BR τύπου 0-Ανάθεση.
ScriptType & Script Το «σενάριο» βάσει του οποίου γίνεται η ανάθεση τιμής. Για τις δυνατότητες ρύθμισης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για Activation τύπου 0-OnChangeField του BR τύπου 0-Ανάθεση.
ScriptID Το ID του αυτόνομου script. Οι απαιτούμενες ρυθμίσεις της ιδιότητας περιγράφονται στην ενότητα με τις γενικές αρχές σύνταξης script.

Activation: 7-OnAboutToSave

Ιδιότητα Σχόλιο
Action
Activation Θα πρέπει να δηλωθεί η τιμή 7. Δήλωση της τιμής αυτής έχει σαν αποτέλεσμα την εκτέλεση του BR κατά την προετοιμασία αποθήκευσης της οντότητας.
Entity Θα πρέπει να δηλωθεί η οντότητα Επικεφαλίδα.
Activation
Entity Μπορεί να δηλωθεί η οντότητα Επικεφαλίδα ή η οντότητα Γραμμή. Επισημαίνουμε εδώ ότι, δηλώνοντας ως Activation οντότητα τη Γραμμή, το BR εκτελείται διαδοχικά για κάθε μια από τις γραμμές της οντότητας που αποθηκεύεται.
Field Μη διαθέσιμη ιδιότητα.
AssignField Το πεδίο στο οποίο γίνεται η ανάθεση τιμής. Για τις δυνατότητες ρύθμισης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για Activation τύπου 0-OnChangeField του BR τύπου 0-Ανάθεση. . Εξαίρεση αποτελεί η δυνατότητα ανάθεσης τιμής από πεδίο Γραμμής σε πεδίο Επικεφαλίδας (ιδιότητα AssignToHeader) η οποία δεν είναι διαθέσιμη σε Activation αυτού του τύπου.
ScriptType & Script Το «σενάριο» βάσει του οποίου γίνεται η ανάθεση τιμής. Για τις δυνατότητες ρύθμισης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για Activation τύπου 0-OnChangeField του BR τύπου 0-Ανάθεση.
ScriptID Το ID του αυτόνομου script. Οι απαιτούμενες ρυθμίσεις της ιδιότητας περιγράφονται στην ενότητα με τις γενικές αρχές σύνταξης script.

Action: 1-Έλεγχος

Το BR τύπου 1-Έλεγχος έχει σαν αποτέλεσμα την ενεργοποίηση ελέγχου εγκυρότητας επί των δεδομένων της εκάστοτε οντότητας με δυνατότητα είτε εμφάνισης μηνύματος προειδοποίησης είτε διακοπής της διαδικασίας και οι ρυθμίσεις του γίνονται στο στοιχείο Validate. Οι αρχές υλοποίησης BR αυτού του τύπου διαφοροποιούνται σημαντικά ανάλογα με τον τύπο Activation.

Activation: 2-OnSave

Ιδιότητα Σχόλιο
Action
Activation Θα πρέπει να δηλωθεί η τιμή 2. Δήλωση της τιμής αυτής έχει σαν αποτέλεσμα την εκτέλεση του BR κατά την αποθήκευση της οντότητας.
Entity Μπορεί να δηλωθεί η οντότητα Επικεφαλίδα ή η οντότητα Γραμμή.
Activation
Entity Μπορεί να δηλωθεί η οντότητα Επικεφαλίδα ή η οντότητα Γραμμή. Επισημαίνουμε εδώ ότι, αν ως Action οντότητα έχει δηλωθεί η Επικεφαλίδα, δηλώνοντας ως Activation οντότητα τη Γραμμή το BR εκτελείται διαδοχικά για κάθε μια από τις γραμμές της οντότητας που αποθηκεύεται. Σε μια τέτοια περίπτωση, η τιμή που επιστρέφει ο έλεγχος εξαρτάται και από τον τελεστή σύνδεσης των γραμμών (ιδιότητα Operator).
Field Το πεδίο στο οποίο εφαρμόζεται ο έλεγχος του BR. Θα πρέπει να δηλωθεί κάποιο από τα πεδία της Activation οντότητας. Συμπληρώνεται μόνο στην περίπτωση χρήσης ScriptType 4-Regular expression.
ScriptType & Script Το «σενάριο» βάσει του οποίου γίνεται ο έλεγχος εγκυρότητας. Επισημαίνουμε εδώ ότι, το περιεχόμενο και ο τρόπος σύνταξης της ιδιότητας Script διαφοροποιείται σημαντικά ανάλογα με την τιμή που επιλέγεται στην ιδιότητα ScriptType. Οι διαθέσιμες επιλογές είναι:
  • ScriptType: 1-SQL

SQL query το οποίο να επιστρέφει μια εγγραφή με μια κολόνα της οποίας η τιμή είναι 0 (fail) ή 1 (success).

edit
  • ScriptType: 3-Validation script

Φόρμουλα η οποία ελέγχεται ως προς το αν επιστρέφει την τιμή 0 (fail) ή την τιμή 1 (success).

edit
  • ScriptType: 4-Regular expression

Regular expression βάσει του οποίου ελέγχεται το περιεχόμενο του πεδίου στο οποίο εφαρμόζεται το BR.

edit
  • ScriptType: 5-Duplicate line values check

Έλεγχος του αν υπάρχουν γραμμές με τα ίδια ακριβώς στοιχεία. Στην περίπτωση που υπάρχουν, ο έλεγχος επιστρέφει την τιμή 0 (fail). Παρέχεται και δυνατότητα δήλωσης κριτηρίου περιορισμού των γραμμών που συμμετέχουν στον έλεγχο.

Η σύνταξη του script θα πρέπει να είναι της μορφής: Σκέλος-1|Σκέλος-2|Σκέλος-3 όπου:

Σκέλος-1 Comma separated λίστα με τα πεδία που απαρτίζουν τα κοινά στοιχεία (μέγιστο όριο τα 4 πεδία).

Σκέλος-2

& Σκέλος-3

Το πεδίο (Σκέλος-2) και το περιεχόμενο του πεδίου (Σκέλος-3) που αποτελούν το κριτήριο περιορισμού των γραμμών που συμμετέχουν στον έλεγχο.
edit
  • ScriptType: 6-Validate same values

Έλεγχος του αν υπάρχουν γραμμές οι οποίες ενώ ανήκουν στην ίδια «κατηγορία» δεν έχουν κοινό περιεχόμενο στο προς έλεγχο πεδίο. Στην περίπτωση που υπάρχουν, ο έλεγχος επιστρέφει την τιμή 0 (fail). Παρέχεται και δυνατότητα δήλωσης κριτηρίου περιορισμού των γραμμών που συμμετέχουν στον έλεγχο.

Η σύνταξη του script θα πρέπει να είναι της μορφής: Σκέλος-11,Σκέλος-12|Σκέλος-2|Σκέλος-3 όπου:

Σκέλος-1 Comma separated λίστα με το πεδίο που αποτελεί την «κατηγορία» (Σκέλος-11) και το πεδίο που ελέγχεται ως προς το περιεχόμενο του (Σκέλος-12).

Σκέλος-2

& Σκέλος-3

Το πεδίο (Σκέλος-2) και το περιεχόμενο του πεδίου (Σκέλος-3) που αποτελούν το κριτήριο περιορισμού των γραμμών που συμμετέχουν στον έλεγχο.
edit
  • ScriptType: 7- Validate any values of

Έλεγχος του αν το περιεχόμενο του προς έλεγχο πεδίου υπάρχει ήδη σε κάποια από τις υπάρχουσες γραμμές. Στην περίπτωση που δεν υπάρχει, ο έλεγχος επιστρέφει την τιμή 0 (fail). Το προς έλεγχο πεδίο δηλώνεται στην ιδιότητα Script.

edit
  • ScriptType: 9- Validate Subtotals

Έλεγχος ο οποίος εκτελείται ουσιαστικά σε δυο βήματα. Στο πρώτο βήμα γίνεται υπολογισμός συνόλου ανά «ομάδα» γραμμών και στο δεύτερο γίνεται έλεγχος του αποτελέσματος υπολογισμού ως προς το αν επιστρέφει την τιμή 0 (fail) ή 1 (success).

Ιδιαίτερη προσοχή θα πρέπει να δοθεί κατά τη σύνταξη του script καθότι θα πρέπει:

  • το σύνολο του script να είναι ενταγμένο μέσα σε αγκύλες.

  • η κάθε ιδιότητα του script καθώς και η τιμή της να είναι ενταγμένη μέσα σε εισαγωγικά.

  • η ιδιότητα να διαχωρίζεται από την τιμή της με άνω-κάτω τελεία.

  • οι επιμέρους ιδιότητες του script να διαχωρίζονται μεταξύ τους με κόμμα.

Οι ιδιότητες προς ρύθμιση είναι:

GroupByField Το πεδίο που αποτελεί το κριτήριο ομαδοποίησης των γραμμών.
SummaryField Το πεδίο επί του οποίου γίνεται ο υπολογισμός συνόλου ανά «ομάδα».
SummaryValueToken Το όνομα της μεταβλητής στην οποία ανατίθεται το αποτέλεσμα του υπολογισμού. Επισημαίνουμε εδώ ότι η δήλωση θα πρέπει να είναι της μορφής [token] όπου token το όνομα που θέλουμε να έχει η μεταβλητή.
ScriptType & Script Το «σενάριο» βάσει του οποίου γίνεται ο έλεγχος εγκυρότητας με διαθέσιμες τις ScriptType επιλογές 1-SQL & 3-Validation script.
edit Για σύγκριση της ποσότητας μέτρησης ανά ομάδα ειδών σε σχέση με την αντίστοιχη ποσότητα πωλήσεων του τρέχοντος έτους.
ScriptID Το ID του αυτόνομου script. Οι απαιτούμενες ρυθμίσεις της ιδιότητας περιγράφονται στην ενότητα με τις γενικές αρχές σύνταξης script.
Operator

Ο τελεστής σύνδεσης των γραμμών της οντότητας. Οι διαθέσιμες επιλογές είναι:

  • 0-And. Ο έλεγχος επιστρέφει την τιμή 1 (success) μόνο όταν όλες οι γραμμές ικανοποιούν τη συνθήκη.
  • 1-Or. Ο έλεγχος επιστρέφει την τιμή 1 (success) όταν έστω και μια γραμμή ικανοποιεί τη συνθήκη.
ErrorType

Η μορφή ελέγχου. Οι διαθέσιμες επιλογές είναι:

  • 0-Error. Εμφάνιση μηνύματος και απαγόρευση εκτέλεσης της ενέργειας.
  • 1-Warning. Εμφάνιση μηνύματος με δυνατότητα επιλογής μεταξύ εκτέλεσης (πλήκτρο OK) ή μη εκτέλεσης (πλήκτρο Cancel) της ενέργειας.
  • 2-Info. Εμφάνιση μηνύματος και άμεση εκτέλεση της ενέργειας.
  • 3-Complex password. Εμφάνιση μηνύματος και απαγόρευση εκτέλεσης της ενέργειας μέχρι να δοθεί έγκριση από εξουσιοδοτημένο χρήστη των κεντρικών. Απαραίτητη προϋπόθεση είναι να δηλωθεί στο κείμενο του μηνύματος και το λεκτικό {0}. Διαθέσιμο μόνο σε iOS πλατφόρμα.
Caption Το μήνυμα που εμφανίζεται σε περίπτωση μη εγκυρότητας.

Activation: 5-OnEdit

Ιδιότητα Σχόλιο
Action
Activation Θα πρέπει να δηλωθεί η τιμή 5. Δήλωση της τιμής αυτής έχει σαν αποτέλεσμα την εκτέλεση του BR κατά την επέμβαση -μέσω LineEditing- σε πεδίο της οντότητας Γραμμή.
Entity Θα πρέπει να δηλωθεί η οντότητα Γραμμή.
Activation
Entity Μη διαθέσιμη ιδιότητα.
Field Το πεδίο με την αλλαγή του οποίου προκαλείται η εκτέλεση του BR. Θα πρέπει να δηλωθεί κάποιο από τα πεδία της οντότητας Γραμμή.
ScriptType & Script Το «σενάριο» βάσει του οποίου γίνεται ο έλεγχος εγκυρότητας. Για τις δυνατότητες ρύθμισης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για Activation τύπου 2-OnSave του BR τύπου 1-Έλεγχος. Επισημαίνουμε εδώ ότι, δεν υπάρχει η δυνατότητα χρήσης του ScriptType 4-Regular expression.
ScriptID Το ID του αυτόνομου script. Οι απαιτούμενες ρυθμίσεις της ιδιότητας περιγράφονται στην ενότητα με τις γενικές αρχές σύνταξης script.
Operator Μη διαθέσιμη ιδιότητα.
ErrorType Η μορφή ελέγχου. Για τις δυνατότητες ρύθμισης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για Activation τύπου 2-OnSave του BR τύπου 1-Έλεγχος.
Caption Το μήνυμα που εμφανίζεται σε περίπτωση μη εγκυρότητας.

Action: 2-Εκτέλεση

Το BR τύπου 2-Εκτέλεση έχει σαν αποτέλεσμα την άμεση κλήση, με την αποθήκευση της εκάστοτε οντότητας, μιας διαδικασίας προς εκτέλεση και οι ρυθμίσεις του γίνονται στο στοιχείο Execute. Οι αρχές υλοποίησης BR αυτού του τύπου διαφοροποιούνται σημαντικά ανάλογα με τον τύπο Activation.

Activation: 7-AfterSave

Ιδιότητα Σχόλιο
Action
Activation Θα πρέπει να δηλωθεί η τιμή 7. Δήλωση της τιμής αυτής έχει σαν αποτέλεσμα την εκτέλεση του BR μετά την αποθήκευση της οντότητας.
Entity Θα πρέπει να δηλωθεί η οντότητα Επικεφαλίδα.
Activation
Entity Μπορεί να δηλωθεί η οντότητα Επικεφαλίδα ή η οντότητα Γραμμή. Επισημαίνουμε εδώ ότι, δηλώνοντας ως Activation οντότητα τη Γραμμή το BR εκτελείται διαδοχικά για κάθε μια από τις γραμμές της οντότητας που αποθηκεύεται. Η δυνατότητα αυτή είναι διαθέσιμη μόνο στην περίπτωση χρήσης ScriptType 1-SQL.
ScriptType & Script Το «σενάριο» βάσει του οποίου γίνεται η κλήση της προς εκτέλεση διαδικασίας. Επισημαίνουμε εδώ ότι, το περιεχόμενο και ο τρόπος σύνταξης της ιδιότητας Script διαφοροποιείται σημαντικά ανάλογα με την τιμή που επιλέγεται στην ιδιότητα ScriptType. Οι διαθέσιμες επιλογές είναι:
  • ScriptType: 1-SQL

SQL query το οποίο περιγράφει την προς εκτέλεση διαδικασία.

edit
  • ScriptType: 8-Command

Πλήκτρο που καλεί την προς εκτέλεση εντολή. Επισημαίνουμε εδώ ότι, η απαιτούμενη για την εκτέλεση της εντολής μεταβλητή [CURRENT] ή [PARENT] τροφοδοτείται αυτόματα με το GID της οντότητας που αποθηκεύεται.

edit
ScriptID Το ID του αυτόνομου script. Οι απαιτούμενες ρυθμίσεις της ιδιότητας περιγράφονται στην ενότητα με τις γενικές αρχές σύνταξης script.

Συνθήκες εκτέλεσης BR

Δηλώνοντας στην ιδιότητα Inactive την τιμή true, δίνεται η δυνατότητα πλήρους απενεργοποίησης ενός BR. Παράλληλα, μέσω κατάλληλης ρύθμισης του στοιχείου ExecutionConditions, δίνεται η δυνατότητα της υπό συνθήκες εκτέλεσης ενός BR. Για τις αρχές υλοποίησης συνθήκης εκτέλεσης BR ισχύουν τα παρακάτω.

Ιδιότητα Σχόλιο
Entity Μπορεί να δηλωθεί η οντότητα Επικεφαλίδα ή η οντότητα Γραμμή. Επισημαίνουμε εδώ ότι, αν ως Action οντότητα έχει δηλωθεί η Επικεφαλίδα, δηλώνοντας ως ExecutionConditions οντότητα τη Γραμμή η συνθήκη εκτελείται διαδοχικά για κάθε μια από τις γραμμές της οντότητας. Σε μια τέτοια περίπτωση, η τιμή που επιστρέφει ο έλεγχος εξαρτάται και από τον τελεστή σύνδεσης των γραμμών (ιδιότητα Operator).
ScriptType & Script Το «σενάριο» βάσει του οποίου γίνεται ο έλεγχος εκτέλεσης. Για τις δυνατότητες ρύθμισης ισχύουν τα ίδια ακριβώς με αυτά που περιγράφονται για Activation τύπου 2-OnSave του BR τύπου 1-Έλεγχος. Επισημαίνουμε εδώ ότι, δεν υπάρχει η δυνατότητα χρήσης του ScriptType 4-Regular expression.
ScriptID Το ID του αυτόνομου script. Οι απαιτούμενες ρυθμίσεις της ιδιότητας περιγράφονται στην ενότητα με τις γενικές αρχές σύνταξης script.
Operator

Ο τελεστής σύνδεσης των γραμμών της οντότητας. Οι διαθέσιμες επιλογές είναι:

  • 0-And. Ο έλεγχος επιστρέφει την τιμή 1 (success) μόνο όταν όλες οι γραμμές ικανοποιούν τη συνθήκη..
  • 1-Or. Ο έλεγχος επιστρέφει την τιμή 1 (success) όταν έστω και μια γραμμή ικανοποιεί τη συνθήκη.
ZeroLinesValue

Η τιμή που επιστρέφει ο έλεγχος στην περίπτωση μη εύρεσης γραμμών που να εμπίπτουν στο σενάριο της συνθήκης. Οι διαθέσιμες επιλογές είναι:

  • 0-Fail.
  • 1-Success.

BRs Wizard

Όπως αναφέρθηκε και παραπάνω, για παροχή συστηματικής καθοδήγησης κατά την υλοποίηση των εκάστοτε BRs, η ESMobile εφαρμογή συνοδεύεται και από κατάλληλα διαμορφωμένο Business Rules Wizard (BRs Wizard). Επισημαίνουμε εδώ ότι λόγω της εξειδίκευσης που απαιτεί η υλοποίηση BR, ο συγκεκριμένος wizard δεν είναι διαθέσιμος σε «κινητή» συσκευή και ότι η αξιοποίηση του έχει ως προαπαιτούμενο την εγκατάσταση της UWP ESMobile εφαρμογής σε «desktop» περιβάλλον.

Πρόσβαση στον BRs Wizard παρέχεται από αντίστοιχη επιλογή της οθόνης «Ρυθμίσεις» (Ρυθμίσεις/ Διαχείριση συστήματος-βάσης δεδομένων/ Βοηθητικές εργασίες). Καλώντας την επιλογή αυτή, εμφανίζεται αρχικά λίστα με τους διαθέσιμους στην τρέχουσα εγκατάσταση τύπους παραστατικού (σελίδα Παραστατικά) και τύπους εργασίας (σελίδα Εργασίες) και στη συνέχεια, εστιάζοντας σε μια εγγραφή της λίστας, εμφανίζονται τα ήδη υπάρχοντα BRs του επιλεγμένου τύπου εργασίας–παραστατικού. Τέλος, είτε επιλέγοντας συγκεκριμένο BR είτε πατώντας το πλήκτρο Νέο, γίνεται μετάβαση στην οθόνη σύνταξης BR.

MOB-ImplementationGuide-5 2-image226.pngMOB-ImplementationGuide-5 2-image227.png

Η διαδικασία σύνταξης BR αποτελείται από τρία βήματα καθένα από τα οποία έχει αντιστοιχιστεί σε διακριτή σελίδα της οθόνης σύνταξης BR.

Βήμα 1 / Βασικά στοιχεία

Καθορίζονται τα στοιχεία Τύπος, Γεγονός και Οντότητα. Μέσω της επιλογής «Πλήρης απενεργοποίηση κανόνα» ρυθμίζεται η εκτέλεση ή μη εκτέλεση του BR ενώ μέσω της επιλογής «Εκτέλεση κανόνα υπό συνθήκες» ρυθμίζεται η ενεργοποίηση ή μη ενεργοποίηση της σελίδας που αφορά στον ορισμό συνθήκης εκτέλεσης του BR (σελίδα Συνθήκες εκτέλεσης). Σημειώνουμε εδώ ότι, η περιοχή «Γεγονός εκτέλεσης κανόνα» προσαρμόζεται αυτόματα βάσει του στοιχείου «Τύπος κανόνα».

Βήμα 2 / Στοιχεία εκτέλεσης

Η σελίδα προσαρμόζεται αυτόματα βάσει των επιλογών της σελίδας «Βασικά στοιχεία». Η προσαρμογή αφορά τόσο στα στοιχεία που εμφανίζονται όσο και στις διαθέσιμες επιλογές κατά τη συμπλήρωση των στοιχείων αυτών. Συγκεκριμένα, η λίστα επιλογής του στοιχείου «Τύπος σεναρίου» προσαρμόζεται αυτόματα βάσει του στοιχείου «Τύπος κανόνα» και η λίστα επιλογής στοιχείου που αφορά σε δήλωση πεδίου οντότητας (π.χ. πεδίο ενεργοποίησης ανάθεσης ) προσαρμόζεται αυτόματα βάσει του στοιχείου «Οντότητα εκτέλεσης».

Βήμα 3 / Συνθήκες εκτέλεσης

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

Με την ολοκλήρωση της σύνταξης του BR και πατώντας το πλήκτρο IconDescription automatically generated-Αποθήκευση, εκτελείτε αρχικά ο έλεγχος ορθότητας σύνταξης του τρέχοντος BR. Σε περίπτωση που διαπιστωθεί οποιοσδήποτε λανθασμένος ορισμός, η διαδικασία αποθήκευσης αποτυγχάνει εμφανίζοντας ανάλογο μήνυμα λάθους. Αντίθετα, η διαδικασία αποθήκευσης προχωράει στην παραγωγή xml αρχείου το οποίο περιλαμβάνει το σύνολο των BRs της τρέχουσας εργασίας-παραστατικού και την αποθήκευση του παραγόμενου αρχείου στον κατάλληλο φάκελο της περιοχής CSConfig.

information Σημείωση

  • Κατά τη σύνταξη script μέσα από το περιβάλλον του BRs Wizard, η αναφορά σε ειδικούς χαρακτήρες γίνεται με απευθείας χρήση του εκάστοτε χαρακτήρα και όχι μέσω χρήσης της ιδιαίτερης μορφής που απαιτεί η xml γλώσσα. Για παράδειγμα, το «μεγαλύτερο» δηλώνεται με το χαρακτήρα > και όχι με τη μορφή του &gt;.

  • Σε οποιαδήποτε φάση της διαδικασίας σύνταξης BR, πατώντας το πλήκτρο Icon Description automatically generated-E-mail, παρέχεται η δυνατότητα αποστολής του τρέχοντος BR μέσω E-mail.

Εξατομίκευση εφαρμογής

Στην ενότητα αυτή αναπτύσσονται θέματα που σχετίζονται με τις δυνατότητες επέκτασης, σε επίπεδο customization, της προϊοντικής υλοποίησης της ESMobile εφαρμογής. Οι επεκτάσεις αυτές αφορούν τόσο στα δεδομένα όσο και στη λειτουργικότητα & μορφή εμφάνισης της εφαρμογής.

Δεδομένα

Master οντότητα

Οριζόμενα πεδία

Οι master οντότητες που διαχειρίζεται η ESMobile εφαρμογή είναι οι: Πρόσωπο (ESGOPerson), Διεύθυνση (ESGOSites), Πελάτης (ESFITradeAccount) & Είδος (ESFIItem). Τα ελεύθερα οριζόμενα πεδία της EBS εφαρμογής για τις οντότητες αυτές είναι διαθέσιμα στο σύνολο τους και στην ESMobile εφαρμογή. Τα πεδία αυτά υποστηρίζονται πλήρως από την προϊοντική υλοποίηση της ESMobile εφαρμογής και επομένως για την αξιοποίηση τους δεν απαιτείται καμία επέμβαση σε επίπεδο customization της εφαρμογής.

Οντότητα Task

Οριζόμενα πεδία

Τα ελεύθερα οριζόμενα πεδία της EBS εφαρμογής για τα σκέλη Επικεφαλίδα (ESTMTask) και Περιεχόμενα (ESTMTaskItem) της οντότητας Task είναι διαθέσιμα στο σύνολο τους και στην ESMobile εφαρμογή. Τα πεδία αυτά από πλευράς βάσης δεδομένων και διαδικασίας συγχρονισμού δεδομένων (from_ & to_ πακέτα δεδομένων) υποστηρίζονται πλήρως από την προϊοντική υλοποίηση της ESMobile εφαρμογής. Δεδομένου όμως του ότι η προϊοντική υλοποίηση των Data entry οθονών δεν υποστηρίζει το σύνολο των πεδίων αυτών, για την αξιοποίηση πεδίου που δεν είναι ήδη διαθέσιμο στην οθόνη απαιτείται επέμβαση, σε επίπεδο customization της εφαρμογής, στο DetailView (για το σκέλος Επικεφαλίδα) και AdvancedList (για το σκέλος Περιεχόμενα) αρχείο της DocForm οθόνης εργασίας.

sign_warning Προσοχή

Τα ελεύθερα οριζόμενα πεδία της οντότητας Task έχουν την ιδιαιτερότητα να μην είναι προκαθορισμένα αλλά να διαμορφώνονται «δυναμικά» μέσα από το περιβάλλον της EBS εφαρμογής. Επομένως, και για να διασφαλιστεί η απρόσκοπτη λειτουργία της διαδικασίας αποστολής δεδομένων, απαιτείται προσθήκη των επιθυμητών πεδίων στα οριζόμενα του εκάστοτε τύπου εργασιών. Ειδικά στην περίπτωση πεδίου τύπου zoom πίνακας απαιτείται και η δήλωση της λίστας με τις διαθέσιμες τιμές του πίνακα.

Τύποι εργασίας

Η ESMobile εφαρμογή συνοδεύεται από συγκεκριμένους τύπους εργασίας μέσω των οποίων έχουν υλοποιηθεί τα προϊοντικά σενάρια διαχείρισης εργασιών. Παράλληλα όμως και για την κάλυψη εξειδικευμένων αναγκών μιας εγκατάστασης, παρέχεται η δυνατότητα υλοποίησης επιπλέον σεναρίων σε επίπεδο customization της εφαρμογής. Για την αξιοποίηση της δυνατότητας αυτής απαιτούνται οι παρακάτω ρυθμίσεις.

EBS εφαρμογή

Προσθήκη τύπου εργασιών της κλάσης Γενική εργασία. Από τα στοιχεία παραμετροποίησης του τύπου εργασιών ιδιαίτερη προσοχή θα πρέπει να δοθεί στα:

  • Διεθνής κωδικός. Ο διεθνής κωδικός θα πρέπει να δηλωθεί με λατινικούς χαρακτήρες. Συστήνεται, για τον εύκολο διαχωρισμό προϊοντικών–custom τύπων εργασίας, ο διεθνής κωδικός των custom τύπων να ξεκινάει με το λεκτικό CS.

  • Ομάδες εργασίας. Δήλωση της ομάδας Mobile_Custom (για τις εφαρμογές ES-SFA, ES-xVan, ES-Service) ή PharmaIndustryCustom (για την εφαρμογή ES-MedRep). Η δήλωση της ομάδας αυτής είναι απαραίτητη προκειμένου ο custom τύπος εργασίας να γίνει διαθέσιμος στην τοπική βάση της ESMobile εφαρμογής.

  • Κανόνες ανάθεσης. Ταυτοποίηση των ρόλων του τύπου εργασίας με αυτούς του πόρου-χρήστη της ESMobile εφαρμογής. Ειδικά στην περίπτωση που ο τύπος εργασίας έχει δηλωθεί με ανάθεση «Στους επιλεγμένους πόρους», η ταυτοποίηση αυτή είναι απαραίτητη προκειμένου ο custom τύπος εργασίας να γίνει διαθέσιμος και σε επίπεδο συγκεκριμένου πόρου-χρήστη της ESMobile εφαρμογής.

ESMobile εφαρμογή
  • Data entry οθόνη. Υλοποίηση Data entry οθόνης για τον νέο τύπο εργασίας έτσι ώστε να δοθεί δυνατότητα εισαγωγής-προβολής εργασιών του συγκεκριμένου τύπου μέσα από το περιβάλλον της ESMobile εφαρμογής. Αναλυτικές οδηγίες υλοποίησης της Data entry οθόνης παρέχονται παραπάνω στην ενότητα Master-detail οντότητα (DcoForm).

  • Κατάσταση εργασίας. Προσθήκη των επιθυμητών καταστάσεων του νέου τύπου εργασίας στον αντίστοιχο πίνακα (πίνακας ESTMStatus). Η προσθήκη αυτή γίνεται μέσω επέμβασης στο αρχείο InitializeData.txt της περιοχής ESFiles/SQLiteFiles/x.xx του IIS Server όπου x.xx ο αριθμός της τρέχουσας έκδοσης.

Οντότητα Document

Οριζόμενα πεδία

Τα ελεύθερα οριζόμενα πεδία της EBS εφαρμογής για τα σκέλη Επικεφαλίδα (ESFISalesDocument) και Περιεχόμενα (ESFISalesDocLineItem) της οντότητας Document είναι διαθέσιμα στο σύνολο τους και στην ESMobile εφαρμογή. Τα πεδία αυτά από πλευράς βάσης δεδομένων και διαδικασίας συγχρονισμού δεδομένων (from_ & to_ πακέτα δεδομένων) υποστηρίζονται πλήρως από την προϊοντική υλοποίηση της ESMobile εφαρμογής. Δεδομένου όμως του ότι η προϊοντική υλοποίηση των Data entry οθονών δεν υποστηρίζει το σύνολο των πεδίων αυτών, για την αξιοποίηση πεδίου που δεν είναι ήδη διαθέσιμο στην οθόνη απαιτείται επέμβαση, σε επίπεδο customization της εφαρμογής, στο DetailView (για το σκέλος Επικεφαλίδα) και AdvancedList (για το σκέλος Περιεχόμενα) αρχείο της DocForm οθόνης παραστατικού.

Σχήμα βάσης δεδομένων

Η βάση δεδομένων της ESMobile εφαρμογής περιλαμβάνει τους πίνακες και τα πεδία που είναι απολύτως απαραίτητα για την προϊοντική υλοποίηση της λειτουργικότητας της εφαρμογής. Παράλληλα όμως και για την κάλυψη εξειδικευμένων αναγκών μιας εγκατάστασης, παρέχεται η δυνατότητα επέκτασης του σχήματος βάσης δεδομένων σε επίπεδο customization της εφαρμογής. Σημειώνουμε εδώ ότι, ανεξάρτητα του αν η επέκταση αφορά στην προσθήκη πίνακα ή στην προσθήκη πεδίου επί προϊοντικού πίνακα, για την υλοποίηση της επέκτασης απαιτούνται οι ίδιες ακριβώς ρυθμίσεις.

Δήλωση πίνακα
  • Προσθήκη του νέου πίνακα στο αρχείο InitializeSchema.txt της περιοχής ESFiles/SQLiteFiles/x.xx του IIS Server όπου x.xx ο αριθμός της τρέχουσας έκδοσης. Συστήνεται, για τον εύκολο διαχωρισμό προϊοντικών–custom πινάκων, το όνομα των custom πινάκων να ξεκινάει με το λεκτικό CS. Ο τρόπος ορισμού των επιμέρους πεδίων του πίνακα διαφοροποιείται ανάλογα με τον τύπο του πεδίου.

Type Size Not Null Collate Default
GID nvarchar 36 NOCASE
String nvarchar xxx NOCASE
Date nvarchar 36 NOCASE
Numeric real True BINARY 0.0
Flag smallint True BINARY 0

Επισημαίνουμε εδώ ότι, πέρα από τη δήλωση των επιθυμητών πεδίων του πίνακα, απαραίτητη είναι και η δήλωση τόσο του Primary όσο και των πιθανών Foreign keys του πίνακα. Η δήλωση τους θα πρέπει να γίνει χρησιμοποιώντας το όνομα πεδίου.

  • Προσθήκη του νέου πίνακα στο αρχείο TablesOrdered.txt της περιοχής ESFiles/SQLiteFiles/x.xx του IIS Server όπου x.xx ο αριθμός της τρέχουσας έκδοσης.

  • Προσθήκη του νέου πίνακα στο αρχείο Sync.txt της περιοχής ESFiles/SQLiteFiles/x.xx του IIS Server όπου x.xx ο αριθμός της τρέχουσας έκδοσης. Επισημαίνουμε εδώ ότι, πέρα από τη δήλωση του πίνακα, απαραίτητη είναι και η δήλωση των πεδίων τύπου Ημερομηνία & Αριθμός. Η δήλωση τους θα πρέπει να γίνει χρησιμοποιώντας τον α/α πεδίου (index μείον 1) και δηλώνοντας πρώτα τα πεδία τύπου Ημερομηνία και στη συνέχεια τα πεδία τύπου Αριθμός.

Ενημέρωση δεδομένων πίνακα

Προσθήκη στο to_πακέτο δεδομένων σεναρίου μέσω του οποίου γίνεται ενημέρωση του νέου πίνακα της ESMobile εφαρμογής με δεδομένα της EBS εφαρμογής. Ιδιαίτερη προσοχή θα πρέπει να δοθεί ώστε το όνομα παραγόμενου αρχείου να είναι της μορφής Πίνακας_.txt. Η προσθήκη αυτή είναι αρκετή προκειμένου να έχουμε την ενημέρωση των δεδομένων μέσω της διαδικασίας αρχικοποίησης δεδομένων.

Ειδικά στην περίπτωση που επιθυμούμε την ενημέρωση και μέσω της διαδικασίας διαφορικού συγχρονισμού δεδομένων, απαιτούνται οι παρακάτω επιπλέον ρυθμίσεις:

  • Δημιουργία αντίγραφου του προϊοντικού αρχείου SyncPullTablesOrdered.ini της περιοχής ESConfig/ Sync στην περιοχή CSConfig/ Sync και προσθήκη του νέου πίνακα στο αρχείο αυτό. Επισημαίνουμε εδώ ότι, πέρα από τη δήλωση του πίνακα, απαραίτητη είναι και η δήλωση των πεδίων τύπου Ημερομηνία & Αριθμός καθώς και του πεδίου που αποτελεί το Primary key του πίνακα. Η δήλωση τους θα πρέπει να γίνει χρησιμοποιώντας τον α/α πεδίου (index μείον 1) και δηλώνοντας πρώτα τα πεδία τύπου Αριθμός στη συνέχεια τα πεδία τύπου Ημερομηνία και τέλος το Primary key.

  • Δημιουργία αντίγραφου του προϊοντικού αρχείου SyncPullTablesOrdered.xml της περιοχής ESConfig/ Sync στην περιοχή CSConfig/ Sync και προσθήκη του νέου πίνακα στο αρχείο αυτό.

  • Εκτέλεση της διαδικασίας παραγωγής custom έκδοσης έτσι ώστε να γίνει ενημέρωση των συσκευών με την επέκταση των παραπάνω αρχείων.

edit Παράδειγμα-1

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε έναν custom πίνακα που να ενημερώνεται, κατά τη διαδικασία αρχικοποίησης, με δεδομένα του πίνακα «Αριθμός σειράς» της EBS εφαρμογής. Έστω επίσης ότι θέλουμε ο πίνακας αυτός να έχει το όνομα CSMyCustomTable και πέρα από τα βασικά στοιχεία ταυτοποίησης ενός αριθμού σειράς να περιλαμβάνει και από 2 ελεύθερα οριζόμενα πεδία παντός τύπου.

Table Description automatically generated with medium confidence

edit Παράδειγμα-2

Έστω για παράδειγμα ότι θέλουμε να επεκτείνουμε τη διαδικασία συγχρονισμού δεδομένων έτσι ώστε να υπάρχει και η δυνατότητα ενημέρωσης του custom πίνακα CSMyCustomTable και κατά τη διαδικασία διαφορικού συγχρονισμού δεδομένων.

edit Παράδειγμα-3

Έστω για παράδειγμα ότι θέλουμε να επεκτείνουμε την προϊοντική υλοποίηση του πίνακα «Είδος αποθήκης» της ESMobile εφαρμογής με την προσθήκη του πεδίου «Εναλλακτική περιγραφή». Έστω επίσης ότι θέλουμε ο custom πίνακας στον οποίο θα δηλωθεί το επιπλέον πεδίο να έχει το όνομα CSMyCustomField.

MOB-ImplementationGuide-5 2-image231.png

Σενάρια συγχρονισμού δεδομένων

Η ESMobile εφαρμογή συνοδεύεται από αρχεία τύπων δεδομένων (espak αρχεία) στα οποία έχουν υλοποιηθεί τα προϊοντικά σενάρια συγχρονισμού δεδομένων μεταξύ EBS & ESMobile εφαρμογής. Μέσω του εργαλείου Data Interchange, παρέχεται η δυνατότητα επέμβασης στα προϊοντικά σενάρια σε επίπεδο customization της εφαρμογής. Σημειώνουμε εδώ ότι, τα σενάρια που έχουν δεχθεί οποιαδήποτε επέμβαση γίνονται διακριτά μέσω ιδιαίτερης χρωματικής επισήμανσης (χρώμα φόντου το MOB-ImplementationGuide-5 2-image232.jpg-ροζ).

Παράλληλα, και για διευκόλυνση της διαδικασίας αναβάθμισης της ESMobile εφαρμογής, παρέχεται η δυνατότητα μαζικής μεταφοράς custom σεναρίων εισαγωγής ή εξαγωγής δεδομένων από προηγούμενη έκδοση της εφαρμογής στην τρέχουσα. Τα βήματα που απαιτούνται για την αξιοποίηση της δυνατότητας αυτής είναι:

  1. Εγκατάσταση των τύπων δεδομένων της νέας έκδοσης.

  2. Μετάβαση στους τύπους δεδομένων της αμέσως προηγούμενης έκδοσης, μαζική επιλογή των custom σεναρίων και πάτημα του πλήκτρου «Αντιγραφή».

  3. Μετάβαση στους τύπους δεδομένων της νέας έκδοσης και πάτημα του πλήκτρου «Επικόλληση».

MOB-ImplementationGuide-5 2-image233.pngMOB-ImplementationGuide-5 2-image234.png

sign_warning Προσοχή

  • Η συγκεκριμένη λειτουργικότητα είναι διαθέσιμη επί τύπων δεδομένων έκδοσης 4.0 ή μεταγενέστερης και εφόσον πληρούνται οι παρακάτω προϋποθέσεις:

  • γίνεται χρήση των προϊοντικών τύπων δεδομένων και όχι πιθανού αντίγραφου αυτών.

  • η επέμβαση στους προϊοντικούς τύπους δεδομένων έχει γίνει από οποιονδήποτε άλλον χρήστη εκτός του χρήστη με τον κωδικό πρόσβασης esdev

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

Ρυθμίσεις IIS server

Παραγωγή custom έκδοσης

Η διαδικασία παραγωγής custom έκδοσης διαφοροποιείται ανάλογα με το αν έχουμε κοινό customization για όλες τις πλατφόρμες & εφαρμογές ή όχι. Η ενδεδειγμένη, ανά περίπτωση, διαδικασία είναι:

Κοινή custom έκδοση

Η παραγωγή του αριθμού custom έκδοσης γίνεται πατώντας το πλήκτρο Create custom version iOS του εργαλείου Web Configurator.

MOB-ImplementationGuide-5 2-image235.pngCustom έκδοση ανά πλατφόρμα & εφαρμογή

Η παραγωγή του αριθμού custom έκδοσης γίνεται πατώντας το πλήκτρο Multiple Custom Versions του εργαλείου Web Configurator. Στην οθόνη που εμφανίζεται δηλώνουμε τα παρακάτω στοιχεία:

  • Λειτουργικό σύστημα. Δηλώνουμε τον κωδικό πλατφόρμας. Οι διαθέσιμες τιμές είναι: 2-iOS, 3-Android και 4-UWP.

  • Εφαρμογή. Δηλώνουμε τον κωδικό εφαρμογής. Οι διαθέσιμες τιμές είναι: 8-SFA/Merchandising, 32-xVan, 2-Service και 1024-MedRep.

  • Αριθμός. Δηλώνουμε τον επιθυμητό αριθμό έκδοσης

Αποστολή ρυθμίσεων συσκευής

Με στόχο τη διευκόλυνση της διαδικασίας στησίματος των συσκευών μιας εγκατάστασης, παρέχεται η δυνατότητα ενημέρωσης των ρυθμίσεων της ESMobile εφαρμογής μέσω αρχείου. Για την αξιοποίηση της δυνατότητας αυτής απαιτείται:

  • Δήλωση των στοιχείων προς ρύθμιση στο αρχείο settings.json. Από το σύνολο των διαθέσιμων στοιχείων, δηλώνουμε μόνο εκείνα για τα οποία θέλουμε να γίνει συγκεκριμένη ρύθμιση.
  • Τοποθέτηση του αρχείου settings.json στη συσκευή. Το αρχείο θα πρέπει να τοποθετηθεί στο φάκελο ESConfig ή CSConfig της ESMobile εφαρμογής.
  • Είσοδος του χρήστη στην ESMobile εφαρμογή. Με την είσοδο στην ESMobile εφαρμογή, γίνεται αρχικά η ενημέρωση των ρυθμίσεων της εφαρμογής βάσει των στοιχείων που έχουν δηλωθεί στο αρχείο και στη συνέχεια γίνεται διαγραφή του αρχείου από τη συσκευή.

Διαθέσιμα στο αρχείο settings.json είναι τα παρακάτω στοιχεία της οθόνης «Ρυθμίσεις»:

Στοιχείο Τιμή
AppLanguage

Διαθέσιμες τιμές: el-GR / en-US / ro-RO / bg-BG / sq-AL / es-ES / pl-PL / sr-SP

Aντιστοιχεί στο πεδίο «Γλώσσα εφαρμογής».

ServerUrl

Δηλώνεται το πλήρες URL όπως αυτό συντίθεται από τα επιμέρους στοιχεία Name, Port & ESMobileServices της σελίδας «Ρυθμίσεις εξυπηρετητή».

π.χ. http://192.168.50.199:8080/ESMobileServices_4.4/smartservices.asmx

AutoSetUrl

Διαθέσιμες τιμές: true / false

Aντιστοιχεί στο πεδίο «Αυτόματη ρύθμιση» της σελίδας «Ρυθμίσεις εξυπηρετητή».

SelectedPrinter

Δηλώνεται το όνομα ενός από τους διαθέσιμους εκτυπωτές.

Aντιστοιχεί στο πεδίο «Εκτυπωτής».

DeviceOrientation

Διαθέσιμες τιμές: Landscape / Portrait

Aντιστοιχεί στο πεδίο «Προσανατολισμός οθόνης». Αφορά μόνο σε Android πλατφόρμα.

UseBiometetricAuthentication

Διαθέσιμες τιμές: true / false

Aντιστοιχεί στο πεδίο «Βιομετρική ταυτοποίηση».

UseGrayscaleTheme

Διαθέσιμες τιμές: true / false

Aντιστοιχεί στο πεδίο «Στυλ σε κλίμακα του γκρι».

IsCalendarIso8601

Διαθέσιμες τιμές: true / false

Aντιστοιχεί στο πεδίο «Ημερολόγιο ISO 8601». Αφορά μόνο σε iOS πλατφόρμα.

NearestCustomerRadius

Δηλώνεται ένας αριθμός.

Aντιστοιχεί στο πεδίο «Ακτίνα (χμ) αναζήτησης» της σελίδας «Χάρτης».

NearestCustmerMaxPins

Δηλώνεται ένας αριθμός.

Aντιστοιχεί στο πεδίο «Μέγιστος αριθμός πινεζών» της σελίδας «Χάρτης».

ShowWeatherOnMap

Διαθέσιμες τιμές: true / false

Aντιστοιχεί στο πεδίο «Εμφάνιση πρόγνωσης καιρού» της σελίδας «Χάρτης». Αφορά μόνο σε iOS πλατφόρμα.

EnableAutoVersionCheck

Διαθέσιμες τιμές: true / false

Aντιστοιχεί στο πεδίο «Αυτόματος έλεγχος έκδοσης» της σελίδας «Βοηθητικές εργασίες».

ShowDataToSend

Διαθέσιμες τιμές: true / false

Aντιστοιχεί στο πεδίο «Αυτόματος έλεγχος έκδοσης» της σελίδας «Βοηθητικές εργασίες». Αφορά μόνο σε iOS πλατφόρμα.

EnableDebugMode

Διαθέσιμες τιμές: true / false

Aντιστοιχεί στο πεδίο «Debug mode» της σελίδας «Βοηθητικές εργασίες».

DebugUseCache

Διαθέσιμες τιμές: true / false

Aντιστοιχεί στο πεδίο «Χρήση της XML cache (AdvancedList)» της σελίδας «Βοηθητικές εργασίες». Αφορά μόνο σε iOS πλατφόρμα.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε η ρύθμιση (α) των στοιχείων σύνδεσης με τον εξυπηρετητή και (β) του προτεινόμενου εκτυπωτή να γίνει μέσω χρήσης του αρχείου settings.json.

{

"ServerUrl": "http://192.168.50.199:8080/ESMobileServices_4.4/smartservices.asmx%22,

"SelectedPrinter": "BIXOLON SPP-R410",

}

Πολύ-εταιρική λειτουργία

Το σενάριο της πολύ-εταιρικής λειτουργίας έρχεται να καλύψει τις εγκαταστάσεις εκείνες οι οποίες

  • χρησιμοποιούν περισσότερες της μιας ESMobile εφαρμογές

  • επιθυμούν τη διαχείριση των επιμέρους ESMobile εφαρμογών από την ίδια συσκευή

  • έχουν αναπτύξει τα δεδομένα της κάθε ESMobile εφαρμογής σε διαφορετική εταιρεία της EBS εφαρμογής.

Δεδομένου του ότι βάσει των προδιαγραφών λειτουργίας της ESMobile εφαρμογής μια συσκευή συνδέεται πάντα με συγκεκριμένη εταιρεία της EBS εφαρμογής, οι ρυθμίσεις που απαιτούνται για την κάλυψη της πολύ-εταιρικής λειτουργίας είναι:

  • Ο χρήστης της συσκευής να έχει ανοιχθεί ως διακριτός χρήστης-πόρος-πωλητής σε κάθε μια από τις επιμέρους εταιρείες.
  • Να έχει δημιουργηθεί στον IIS server ένα site ανά εταιρεία. Τα sites αυτά θα πρέπει να έχουν ενεργοποιημένη την επιλογή Multi Company Device.
  • Να έχει γίνει, μέσω των ιδιοτήτων ES_CENTRAL_COMPANY & ES_CENTRAL_BRANCH του εργαλείου data interchange, η ανάλογη σύνδεση κόμβων με εταιρεία-υποκατάστημα.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να δώσουμε τη δυνατότητα εκτέλεσης των εφαρμογών ES-xVan & ES-SFA από την ίδια συσκευή. Έστω επίσης ότι, τα δεδομένα των εφαρμογών αυτών έχουν αναπτυχθεί αντίστοιχα στις εταιρείες 001 & 002 της EBS εφαρμογής.

  • Δημιουργούμε ένα site για την εταιρεία 001 και ένα για την 002 ενεργοποιώντας και στα δυο sites την επιλογή Multi Company Device.

MOB-ImplementationGuide-5 2-image236.pngMOB-ImplementationGuide-5 2-image237.pngMOB-ImplementationGuide-5 2-image238.pngMOB-ImplementationGuide-5 2-image239.png

  • Κάνουμε την εγκατάσταση των εφαρμογών ES-xVan & ES-SFA στη συσκευή. Η ενεργοποίηση της επιλογής «Multi Company Device» στα επιμέρους sites έχει σαν αποτέλεσμα τη δημιουργία, κατά την εγκατάσταση της εφαρμογής, μιας εγγραφής συσκευής ανά εταιρεία με κωδικό αναγνώρισης της μορφής IDΣυσκευής_CompanyCode. Σημειώνουμε εδώ ότι, στην περίπτωση που για οποιονδήποτε λόγο υπάρχει ήδη στη βάση δεδομένων συσκευή που αναφέρεται στο ID της τρέχουσας συσκευής, θα πρέπει, πριν την έναρξη της διαδικασίας εγκατάστασης, να γίνει διαγραφή της.

MOB-ImplementationGuide-5 2-image240.pngMOB-ImplementationGuide-5 2-image241.png

  • Κάνουμε σύνδεση κόμβων με την αντίστοιχη εταιρεία-υποκατάστημα. Η σύνδεση αυτή γίνεται δηλώνοντας στις ιδιότητες ES_CENTRAL_COMPANY & ES_CENTRAL_BRANCH του κάθε κόμβου την κατάλληλη εταιρεία-υποκατάστημα και είναι απαραίτητη προκειμένου να λειτουργήσουν σωστά οι διαδικασίες συγχρονισμού δεδομένων.

MOB-ImplementationGuide-5 2-image242.pngMOB-ImplementationGuide-5 2-image243.pngMOB-ImplementationGuide-5 2-image244.png

Ιδέες & Λύσεις

MOB-ImplementationGuide-5 2-image245.PNGΠεριβάλλον εργασίας

Οθόνη εισόδου

Παρέχεται η δυνατότητα ορισμού αρχείου εικόνας τύπου png το οποίο να απεικονίζει το εταιρικό λογότυπο. Η εικόνα εμφανίζεται στο κάτω-δεξιά μέρος της οθόνης εισόδου και καταλαμβάνει χώρο ανάλογο των διαστάσεων της. Για αξιοποίηση της δυνατότητας αυτής αρκεί το επιθυμητό αρχείο εικόνας να έχει το όνομα CompanyLogo.png και να έχει τοποθετηθεί στο φάκελο CSConfig της ESMobile εφαρμογής.

Ταυτοποίηση χρήστη

Παρέχεται στο χρήστη της συσκευής η δυνατότητα επιλογής της μεθόδου ταυτοποίησης της πρόσβασης του στην ESMobile εφαρμογή.

Ταυτοποίηση βάσει κωδικού

MOB-ImplementationGuide-5 2-image246.pngΣτην περίπτωση αυτή, ο κωδικός πρόσβασης στην ESMobile εφαρμογή ταυτίζεται με αυτόν της EBS εφαρμογής. Δίνεται όμως και η δυνατότητα αλλαγής κωδικού πρόσβασης μέσα από το περιβάλλον της ESMobile εφαρμογής. Η αλλαγή αυτή γίνεται πατώντας την αντίστοιχη επιλογή της οθόνης «Ρυθμίσεις» (μενού Ρυθμίσεις/ Προφίλ λειτουργίας). Σημειώνουμε εδώ ότι, για να είναι εφικτή η αποθήκευση του νέου κωδικού πρόσβασης θα πρέπει να υπάρχει σύνδεση με τα κεντρικά.

Βιομετρική ταυτοποίηση

Ενεργοποιώντας την επιλογή βιομετρική ταυτοποίηση της οθόνης «Ρυθμίσεις» (μενού Ρυθμίσεις/ Προφίλ λειτουργίας) δίνεται στο χρήστη της συσκευής η δυνατότητα ταυτοποίησης του είτε μέσω χρήσης δακτυλικού αποτυπώματος είτε μέσω χρήσης προσωπικού κωδικού ταυτοποίησης (PIN). Σημειώνουμε εδώ ότι, για να είναι εφικτή η βιομετρική ταυτοποίηση, θα πρέπει να υποστηρίζεται από τη συσκευή σαρωτής δακτυλικού αποτυπώματος ή εναλλακτικά να έχει γίνει δήλωση προσωπικού κωδικού ταυτοποίησης (PIN).

Έχοντας ενεργοποιήσει τη συγκεκριμένη επιλογή, κατά την είσοδο στην ESMobile εφαρμογή επιχειρείται βιομετρική ταυτοποίηση του χρήστη μέσω δακτυλικού αποτυπώματος ή -αν δεν υπάρχει δακτυλικό αποτύπωμα- μέσω PIN. Σε οποιοδήποτε περίπτωση, για να «πιστοποιηθεί» η βιομετρική ταυτοποίηση του χρήστη, απαιτείται μια τουλάχιστον επιτυχημένη είσοδος του στην ESMobile εφαρμογή με χρήση δακτυλικού αποτυπώματος ή PIN.

Ακύρωση της διαδικασίας βιομετρικής ταυτοποίησης προκαλείται είτε αυτόματα, μετά από επάλληλες λανθασμένες προσπάθειες ταυτοποίησης, είτε με πάτημα του πλήκτρου «Ακύρωση» της οθόνης βιομετρικής ταυτοποίησης. Στην περίπτωση αυτή, ενεργοποιείται η διαδικασία ταυτοποίησης του χρήστη μέσω του «κλασικού» κωδικού πρόσβασης στην ESMobile εφαρμογή.

iOSA picture containing silhouette, arch Description automatically generated UWP Icon Description automatically generated Android Icon Description automatically generated

Δακτυλικό

αποτύπωμα

Graphical user interface, text, application Description automatically generated Graphical user interface, text, application, chat or text message Description automatically generated Graphical user interface, text, application, chat or text message Description automatically generated
PIN Graphical user interface Description automatically generated Application Description automatically generated with medium confidence Chart, box and whisker chart Description automatically generated


MOB-ImplementationGuide-5 2-image253.PNGMOB-ImplementationGuide-5 2-image254.PNGΣτυλ εφαρμογής

Μέσω της επιλογής στυλ σε κλίμακα του γκρι της οθόνης «Ρυθμίσεις» (μενού Ρυθμίσεις/ Προφίλ λειτουργίας), δίνεται στο χρήστη της συσκευής η δυνατότητα αλλαγής του προκαθορισμένου στυλ λειτουργίας της εκάστοτε ESMobile εφαρμογής. Η συγκεκριμένη ρύθμιση έχει επίδραση στο μενού, τις λίστες, τις οθόνες διαχείρισης και γενικά σε όλο το user interface της εφαρμογής. Η ενεργοποίηση της ρύθμισης γίνεται ορατή στο χρήστη μετά από επανεκκίνηση της ESMobile εφαρμογής.

Επιπλέον παρέχεται η δυνατότητα ρύθμισης χρώματος & γραμματοσειράς κάποιων ακόμα στοιχείων της ESMobile εφαρμογής. Για την αξιοποίηση της δυνατότητας αυτής απαιτείται η δημιουργία αντιγράφου του προϊοντικού αρχείου Theme.xml στην περιοχή CSConfig. Τα στοιχεία που επιδέχονται ρύθμιση αυτής της μορφής είναι:

Στοιχείο Σχόλιο
Settings Η οθόνη Ρυθμίσεις. Διαθέσιμο μόνο σε UWP & Android πλατφόρμα.
SfSchedule Η οθόνη Ημερολόγιο. Διαθέσιμο μόνο σε UWP & Android πλατφόρμα.
MainMenu Το κεντρικό μενού της εφαρμογής.
Navigator Η περιοχή στην οποία εμφανίζεται ο τίτλος οθόνης. Διαθέσιμο μόνο σε UWP & Android πλατφόρμα.
TabMenu Η περιοχή των σελίδων της dashboard & data entry οθόνης.
PopUpMenu Τα μενού πλήκτρα της εφαρμογής (π.χ. πλήκτρο «Ενέργειες»).
SearchPanel Η περιοχή των κριτηρίων αναζήτησης. Διαθέσιμο μόνο σε UWP & Android πλατφόρμα.
ESKeyboard Το pop up αριθμητικό πληκτρολόγιο.
DetailView Η data entry οθόνη τύπου DetailView. Διαθέσιμο μόνο σε UWP & Android πλατφόρμα.
SFList Οι οθόνες με τα χαρακτηριστικά της SFListForm (π.χ. Λίστα εισαγωγής γραμμών, σκέλος Περιεχόμενα της DocForm οθόνης). Διαθέσιμο μόνο σε UWP & Android πλατφόρμα.
ColorSize Η οθόνη δήλωσης των διαστάσεων χρώμα-μέγεθος. Διαθέσιμο μόνο σε UWP & Android πλατφόρμα.

Μήνυμα τύπου ειδοποίηση

MOB-ImplementationGuide-5 2-image255.pngΠαρέχεται η δυνατότητα αποστολής ειδοποίησης από την EBS εφαρμογή προς τον χρήστη της ESMobile εφαρμογής. Καλώντας από τα κεντρικά την οθόνη «Διαχείριση συσκευών» (μενού Πωλήσεις/ Κινητές συσκευές) εμφανίζεται η λίστα των διαθέσιμων συσκευών. Από τη λίστα αυτή επιλέγουμε τις επιθυμητές και καλούμε την ενέργεια Αποστολή γνωστοποίησης. Στην οθόνη που εμφανίζεται δηλώνουμε την ESMobile εφαρμογή, το μήνυμα που θέλουμε να αποσταλεί και πατάμε το πλήκτρο «Αποστολή». Το μήνυμα εμφανίζεται άμεσα στο χρήστη της συσκευής ανεξάρτητα του αν αυτός βρίσκεται τη συγκεκριμένη στιγμή μέσα στο περιβάλλον της ESMobile εφαρμογής ή όχι.

information Σημείωση

Για να είναι εφικτή η αποστολή ειδοποίησης σε μια συσκευή θα πρέπει να έχει δηλωθεί στα κεντρικά το ID ειδοποιήσεων της συγκεκριμένης συσκευής. Η δήλωση του ID ειδοποιήσεων γίνεται αυτόματα από το σύστημα κατά την πρώτη εγκατάσταση της ESMobile εφαρμογής. Εναλλακτικά, μέσω του αυτοματισμού «Προετοιμασία για αποστολή ειδοποίησης», δίνεται και η δυνατότητα χειροκίνητης καταχώρισης του ID ειδοποιήσεων. Σημειώνουμε εδώ ότι, η πληροφορία του ID ειδοποιήσεων που αντιστοιχεί στην εκάστοτε εφαρμογή-συσκευή παρέχετε από το αντίστοιχο πεδίο της οθόνης «Ρυθμίσεις» της ESMobile εφαρμογής.

Διασύνδεση με OneDrive

Παρέχεται η δυνατότητα άμεσης διασύνδεσης, μέσα από το περιβάλλον της ESMobile εφαρμογής, με την υπηρεσία OneDrive. Οι εναλλακτικές μέθοδοι αξιοποίησης της δυνατότητας αυτής είναι:

  • Ορισμός από τα κεντρικά σχετικού εγγράφου τύπου URL διεύθυνση

    Graphical user interface, application Description automatically generated

  • Χρήση της ειδικού τύπου εντολής OneDriveCommand.στην οποία ουσιαστικά το μόνο που δηλώνεται είναι η ηλεκτρονική διεύθυνση του προς κλήση αρχείου.

<SampleOneDrive Assembly="Entersoft.Mobile.ESMerchandize"

Type="Entersoft.Mobile.ESMerchandize.OneDriveCommand">

<Params>

<Url

Type="System.String"

Value="https://entersoftgr-my.sharepoint.com/.../EcDcDHvUQE5Ov47FNcbxCH0BFFKLOK7TN4TAWaVHgCwMw"/>

</Params>

</SampleOneDrive>

Οθόνη τύπου DocForm

Ομαδοποίηση γραμμών

Παρέχεται η δυνατότητα χρήσης πεδίου συνδεόμενης οντότητας, πεδίο δηλαδή που δεν υπάρχει στη λίστα διαθέσιμων πεδίων της γραμμής, ως κριτήριο ομαδοποίησης των γραμμών εργασίας-παραστατικού. Για την αξιοποίηση της δυνατότητας αυτής αρκεί η δήλωση, μέσω χρήσης του εργαλείου Business rules, του επιθυμητού κανόνα ανάθεσης τιμής στο non store πεδίο GroupField της γραμμής εργασίας-παραστατικού. Επισημαίνουμε εδώ ότι, η ανάθεση τιμής θα πρέπει να γίνεται τόσο κατά την εισαγωγή γραμμής (Activation: 1-OnAddLine) όσο και κατά την εμφάνιση της Data entry οθόνης (Activation: 4-OnLoadDetail).

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια Data entry οθόνη η οποία να χρησιμοποιηθεί για την καταχώριση παραστατικού τύπου 1-Παραγγελία. Έστω επίσης ότι θέλουμε ως κριτήριο ομαδοποίησης των γραμμών το πεδίο «Περιγραφή» του zoom πίνακα «Ομάδα είδους».

Θυμίζουμε εδώ ότι, απαιτείται και συμπλήρωση της παραμέτρου κινητού Doc_GroupField με το πεδίο που αποτελεί το κριτήριο ομαδοποίησης, για το παράδειγμα μας δηλαδή με το πεδίο GroupField.

Ταξινόμηση γραμμών

Δεδομένου του ότι η ενέργεια ταξινόμησης γραμμών εργασίας-παραστατικού διαχειρίζεται όλα τα πεδία ως τύπου κείμενο, για να είναι σωστή η ταξινόμηση βάσει αριθμητικού πεδίου, απαιτείται η χρήση κάποιου non store πεδίου της γραμμής για τη «μετατροπή» ενός αριθμού σε κείμενο. Η δήλωση του κανόνα μετατροπής γίνεται μέσω χρήσης του εργαλείου Business rules. Επισημαίνουμε εδώ ότι, η μετατροπή θα πρέπει να γίνεται τόσο κατά την εισαγωγή & μεταβολή γραμμής (Activation: 1-OnAddLine & 0-OnChangeField αντίστοιχα) όσο και κατά την εμφάνιση της Data entry οθόνης (Activation: 4-OnLoadDetail).

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια Data entry οθόνη η οποία να χρησιμοποιηθεί για την καταχώριση παραστατικού τύπου 1-Παραγγελία. Έστω επίσης ότι θέλουμε να υπάρχει δυνατότητα χρήσης του πεδίου «% Έκπτωσης-2» της γραμμής ως ένα από τα εναλλακτικά κριτήρια ταξινόμησης των γραμμών.

Μαζική μεταβολή στοιχείου γραμμής

Παρέχεται η δυνατότητα μαζικής μεταβολής τιμής αριθμητικού πεδίου των γραμμών παραστατικού. Για την ενεργοποίηση της δυνατότητας αυτής αρκεί να επέμβουμε στο Actions αρχείο της DocForm οθόνης παραστατικού καιστο section ToolbarActions, να προσθέσουμε την εντολή BatchUpdate.

π.χ. για μαζική μεταβολή ποσότητας των ήδη καταχωρημένων γραμμών παραστατικού

<ToolbarActions>

<DocToolbarAction Caption="Μαζική μεταβολή ποσότητας" Command="BatchUpdate#Quantity" ESCaptionID=""/>

</ToolbarActions>

Επιμερισμός αξίας έκπτωσης

Παρέχεται η δυνατότητα μαζικής ανάθεσης, στις γραμμές παραστατικού, αξίας έκπτωσης η οποία προκύπτει μέσω επιμερισμού ενός συνολικού ποσού έκπτωσης που δηλώνεται από το χρήστη. Για την ενεργοποίηση της δυνατότητας αυτής αρκεί να επέμβουμε στο Actions αρχείο της DocForm οθόνης παραστατικού και, στο section ToolbarActions, να προσθέσουμε την εντολή AllocateDiscount.

π.χ. για μαζική ανάθεση του αναλογούντος ποσού στο πεδίο Αξία έκπτωσης-1 των γραμμών παραστατικού

<ToolbarActions>

<DocToolbarAction Caption="Επιμερισμός έκπτωσης" Command="AllocateDiscount#Disc1" ESCaptionID=""/>

</ToolbarActions>

Συνολικό % έκπτωσης γραμμής

Παρέχεται η δυνατότητα εμφάνισης του συνολικού % έκπτωσης γραμμής παραστατικού. Το ποσοστό αυτό προκύπτει από τις τρεις επιμέρους εκπτώσεις της γραμμής και ο τύπος υπολογισμού του είναι: Συνολική αξία έκπτωσης / (Ποσότητα * Τιμή). Για την εμφάνιση της πληροφορίας αυτής αρκεί να προσθέσουμε στο AdvancedList αρχείο της DocForm οθόνης παραστατικού νέο στοιχείο τύπου TextCell που στην ιδιότητα CellSource έχει την τιμή DiscountPercent.

<Cell Type="Resco.Controls.AdvancedList.TextCell">

<Property Name="TextFont" Value="Tahoma, 8pt, style=Bold" />

<Property Name="Bounds" Value="95,10,20,16" />

<Property Name="CellSource" Value="DiscountPercent" />

<Property Name="FormatString" Value="{0:0.##\%}" />

</Cell>

MOB-ImplementationGuide-5 2-image257.PNGΥπέρβαση υπολοίπου

Παρέχεται η δυνατότητα επισήμανσης των γραμμών παραστατικού για τις οποίες υπάρχει υπέρβαση διαθέσιμου υπολοίπου. Για την ενεργοποίηση της δυνατότητας αυτής αρκεί να προσθέσουμε στο AdvancedList αρχείο της DocForm οθόνης παραστατικού νέο στοιχείο τύπου TextCell που στην ιδιότητα CellSource έχει την τιμή ItemBalanceErrorMessage.

<Cell Type="Resco.Controls.AdvancedList.TextCell">

<Property Name="Bounds" Value="23,25,180,16" />

<Property Name="Alignment" Value="Left"/>

<Property Name="ForeColor" Value="red"/>

<Property Name="CellSource" Value="ItemBalanceErrorMessage"/>

</Cell>

Γραμμή τύπου δώρο

MOB-ImplementationGuide-5 2-image258.PNGΠαρέχεται η δυνατότητα υλοποίησης ενέργειας η οποία καλείται επί επιλεγμένης γραμμής παραστατικού και έχει σαν αποτέλεσμα την εισαγωγή νέας γραμμής, ως ακριβές αντίγραφο της επιλεγμένης, με ποσότητα 1 στη βασική μονάδα μέτρησης του είδους και έκπτωση 100%. Σημειώνουμε εδώ ότι, η λειτουργικότητα αυτή είναι διαθέσιμη μόνο σε iOS πλατφόρμα.

Παράλληλα, παρέχεται και η δυνατότητα επισήμανσης των γραμμών «δώρο» με το επιθυμητό εικονίδιο. Για την υλοποίηση της ενέργειας αυτής απαιτούνται οι παρακάτω επεμβάσεις στο AdvancedList αρχείο της DocForm οθόνης παραστατικού.

  • Προσθήκη, στο RowTemplate που αφορά σε επιλεγμένη εγγραφή, στοιχείου τύπου ButtonCell που στην ιδιότητα Name έχει την τιμή έχει την τιμή NewByCopyGiftButton.

<RowTemplate>

<Property Name="Name" Value="SelectedRowTemplate" />

<Cell Type="Resco.Controls.AdvancedList.ButtonCell">

<Property Name="Bounds" Value="200,44,40,40" />

<Property Name="ImageDefault" Value="iVBORw0KGg..." />

<Property Name="Name" Value="NewByCopyGiftButton" />

<Property Name="Selectable" Value="true" />

<Property Name="CellSource" Value="&quot;-1&quot;" />

</Cell>

</RowTemplate>

  • Αν επιθυμούμε και την ειδική επισήμανση των γραμμών δώρο, προσθέτουμε και ένα ακόμη στοιχείο τύπου ButtonCell που στην ιδιότητα Name έχει την τιμή έχει την τιμή ConditionalButton και στην ιδιότητα CellSource έχει την τιμή IsGift. Τέλος, στην ιδιότητα TrueImageFile δηλώνουμε την περιοχή στην οποία βρίσκεται το εικονίδιο που θέλουμε να χρησιμοποιηθεί για την επισήμανση.

<Cell Type="Resco.Controls.AdvancedList.ButtonCell">

<Property Name="TrueImageFile" Value="CSImages/Gift.png" />

<Property Name="CellSource" Value="IsGift" />

<Property Name="Bounds" Value="1,1,10,32" />

<Property Name="Name" Value="ConditionalButton" />

</Cell>

information Σημείωση

Η ανάθεση έκπτωσης 100% γίνεται στο πεδίο έκπτωσης της γραμμής που έχει δηλωθεί στην παράμετρο κινητού Doc_GiftDiscount_Field.

Πλήκτρο μετατροπής τύπου είσπραξης

Παρέχεται η δυνατότητα δήλωσης πλήκτρου μετατροπής του τύπου μιας ήδη καταχωρημένης γραμμής είσπραξης. Για την ενεργοποίηση της δυνατότητας αυτής αρκεί να προσθέσουμε, στο Actions αρχείο της DocForm οθόνης είσπραξης, πλήκτρο που να αναφέρεται την εντολή ConvertLineButton.

π.χ. για τον ορισμό πλήκτρου άμεσης μετατροπής σε γραμμή τύπου έμβασμα

<Actions>

<ActionButton ImagePath="…" Name="ConvertLineButton#ColPayTransferCode" Width="30" Height="30"/>

</Actions>

Αυτόματη γένεση εργασίας

Παράδειγμα SampleAutoTask

Παρέχεται η δυνατότητα υλοποίησης ενέργειας η οποία καλείται επί επιλεγμένης εγγραφής προσώπου και σαν αποτέλεσμα την εμφάνιση Data entry οθόνης της οντότητας Task με προ-συμπληρωμένα τα στοιχεία της επικεφαλίδας και των γραμμών βάσει ενός ελεύθερα οριζόμενου select query. Για την αξιοποίηση της λειτουργικότητας αυτής απαιτείται η χρήση εντολής τύπου NewTaskCommand όπου η δήλωση του επιθυμητού query για επικεφαλίδα & γραμμές γίνεται στις ιδιότητες CreateHeaderQuery & GreateLinesQuery αντίστοιχα.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια Data entry οθόνη η οποία να χρησιμοποιηθεί για την καταχώριση εργασίας τύπου ES.MCH-Μέτρηση. Έστω επίσης ότι θέλουμε στο σκέλος Περιεχόμενα της οθόνης μας να εισάγονται αυτόματα όλα τα είδη που οι πωλήσεις του τρέχοντας έτους υπερβαίνουν τα 5 τεμάχια ενημερώνοντας ταυτόχρονα με το ύψος πωλήσεων το πεδίο «Ποσότητα προς παραγγελία».

Αυτόματη γένεση παραστατικού

Παράδειγμα SampleAutoDocument

Παρέχεται η δυνατότητα υλοποίησης ενέργειας η οποία καλείται επί επιλεγμένης εγγραφής προσώπου και σαν αποτέλεσμα την εμφάνιση Data entry οθόνης της οντότητας Document με προ-συμπληρωμένα τα στοιχεία της επικεφαλίδας και των γραμμών βάσει ενός ελεύθερα οριζόμενου select query. Για την αξιοποίηση της λειτουργικότητας αυτής απαιτείται η χρήση εντολής τύπου NewDocumentCommand όπου η δήλωση του επιθυμητού query για επικεφαλίδα & γραμμές γίνεται στις ιδιότητες CreateHeaderQuery & GreateLinesQuery αντίστοιχα.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε να υλοποιήσουμε μια Data entry οθόνη η οποία να χρησιμοποιηθεί για την καταχώριση παραστατικού τύπου 1-Παραγγελία. Έστω επίσης ότι θέλουμε στο σκέλος Περιεχόμενα της οθόνης μας να εισάγονται αυτόματα όλα τα είδη που οι πωλήσεις του τρέχοντας έτους υπερβαίνουν τα 5 τεμάχια ενημερώνοντας ταυτόχρονα με το ύψος πωλήσεων το πεδίο «Ποσότητα».

Αυτόματη εισαγωγή γραμμής ανάλυσης

Παρέχεται η δυνατότητα επέκτασης της διαδικασίας εισαγωγής γραμμών παραστατικού έτσι ώστε, αν η προς εισαγωγή γραμμή έχει συμπληρωμένη την πληροφορία που αφορά σε Χρώμα-Μέγεθος, να μπαίνει αυτόματα και η αντίστοιχη γραμμή ανάλυσης. Για την αξιοποίηση της δυνατότητας αυτής αρκεί να φροντίσουμε την ανάθεση, κατά την εισαγωγή της γραμμής παραστατικού, της επιθυμητής τιμής Χρώματος-Μεγέθους στα non store πεδία fColorCode και fSizeCode αντίστοιχα. Σημειώνουμε εδώ ότι, απαραίτητη προϋπόθεση για την αυτόματη εισαγωγή γραμμής ανάλυσης είναι στο πεδίο «Συμπεριφορά ίδιου είδους» του τύπου παραστατικού να έχει δηλωθεί η τιμή 1-Προσθήκη νέας γραμμής.

edit Παράδειγμα

Έστω για παράδειγμα ότι έχουμε ρυθμίσει την οθόνη καταχώρισης μέτρησης έτσι ώστε οι ποσότητες μέτρησης & προς παραγγελία να δηλώνονται σε επίπεδο χρώματος-μεγέθους. Έστω επίσης ότι η πληροφορία του χρώματος-μεγέθους δηλώνεται στα πεδία Κείμενο-3 & Κείμενο-4 της γραμμής μέτρησης. Έστω τέλος ότι θέλουμε, κατά τη δημιουργία παραγγελίας από μέτρηση, να γίνεται και αυτόματη εισαγωγή των γραμμών ανάλυσης βάσει της ποσότητας προς παραγγελία που έχει δηλωθεί στη μέτρηση.

Διάσπαση παραστατικού

Παράδειγμα/ SampleSplitGiftDocument

Παρέχεται η δυνατότητα υλοποίησης κανόνα, μέσω χρήσςη του εργαλείου Business rules, o οποίος αναλαμβάνει την εκτέλεση ενός query ή μιας εντολής μετά από την αποθήκευση της τρέχουσας εγγραφής.

edit Παράδειγμα

Έστω για παράδειγμα ότι θέλουμε κατά την αποθήκευση παραγγελίας και εφόσον αυτή περιέχει γραμμές δώρο, να γίνεται αυτόματη έκδοση παραστατικού δωρεάν χορήγησης και ταυτόχρονα διαγραφή των συγκεκριμένων γραμμών από την παραγγελία.

Έκδοση παραστατικού δωρεάν χορήγησης
  • Προσθήκη εντολής τύπου NewDocumentCommand (π.χ. εντολή SampleSplitGiftDocument) για τον ορισμό των στοιχείων γένεσης του παραστατικού δωρεάν χορήγησης. Τα στοιχεία επικεφαλίδας & γραμμών του προς γένεση παραστατικού δηλώνονται στις ιδιότητες CreateHeaderQuery & CreateLinesQuery αντίστοιχα.

<SampleSplitGiftDocument Assembly="Entersoft.Mobile.ESMobile"

Type="Entersoft.Mobile.ESMobile.NewDocumentCommand">

<Params>

<CreateHeaderQuery Type="System.String" Value="

Select

h.fTradeAccountGID Assign_fTradeAccountGID,

h.fAddressGID Assign_fAddressGID

From ESFISalesDocument h

Where h.GID = '[PARENT]' " />

<CreateLinesQuery Type="System.String" Value="

Select

l.fItemGID fItemGID, l.fItemMUGID fItemMUGID,

l.Quantity Quantity, l.fTaskItemGID Assign_fTaskItemGID,

l.Price Assign_Price,

l.Disc1 Assign_Disc1, l.Disc2 Assign_Disc2, l.Disc3 Assign_Disc3

From ESFISalesDocLineItem l

Where l.fDocumentGID = '[PARENT]' and l.TotalValue = 0 " />

<DocType Type="System.String" Value="9" />

<NullCustomer Type="System.Boolean" Value="false" />

<ShowDocument Type="System.Boolean" Value="false" />

</Params>

</SampleSplitGiftDocument>

  • Επέμβαση στο αρχείο των Business rules της παραγγελίας για την προσθήκη κανόνα ο οποίος ενεργοποιείται μετά την αποθήκευση (Activation: 6-AfterSave) και έχει σαν αποτέλεσμα την εκτέλεση (Action: 2-Execute) της παραπάνω εντολής (ScriptType: 8-Command). Σημειώνουμε εδώ ότι, για τη σύνταξη script τύπου 8-Command ισχύουν τα ίδια με αυτά της σύνταξης πλήκτρου ενεργειών και ότι οι μεταβλητές [PARENT] ή [CURRENT] τροφοδοτούνται πάντα με το GID της δηλωθείσας στον κανόνα οντότητας.

<BusinessRule Title = "Create Gift Document / 6-AfterSave"

Entity = "ESFISalesDocument"

Activation = "6"

Action = "2"

Inactive = "false">

<ExecutionConditions

Entity = "ESFISalesDocLineItem"

Operator = "1"

ScriptType = "3"

Script = "[ESFISalesDocLineItem].[TotalValue] = 0"/>

<Execute

Entity = "ESFISalesDocument"

ScriptType = "8"

Script = "New#SampleSplitGiftDocument" />

</BusinessRule>

Διαγραφή γραμμές δώρο από την παραγγελία

Επέμβαση στο αρχείο των Business rules της παραγγελίας για την προσθήκη κανόνα ο οποίος ενεργοποιείται μετά την αποθήκευση (Activation: 6-AfterSave) και έχει σαν αποτέλεσμα την εκτέλεση (Action: 2-Execute) του query διαγραφής των γραμμών δώρο (ScriptType: 1-SQL). Ειδικά στην περίπτωση που το αρχικό παραστατικό κάνει ενημέρωση αποθέματος (π.χ. Τιμολόγιο) θα πρέπει το συγκεκριμένο Business rule να αναλάβει και την ανάλογη ενημέρωση των αποθεμάτων.

<BusinessRule Title = "Delete Gift Lines / 6-AfterSave"

Entity = "ESFISalesDocument"

Activation = "6"

Action = "2"

Inactive = "false">

<ExecutionConditions

Entity = "ESFISalesDocLineItem"

Operator = "1"

ScriptType = "3"

Script = "[ESFISalesDocLineItem].[TotalValue] = 0"/>

<Execute

Entity = "ESFISalesDocLineItem"

ScriptType = "1"

Script = "

update ESMMItemBalance set

LastUpdate = datetime('now', 'localtime'),

BranchBalance =

(select ib.BranchBalance + li.BasicQuantity

from ESMMItemBalance ib

inner join ESGOCompany com on ib.fWarehousegid = com.fcurrentWarehousegid

inner join ESFISalesDocLineItem li on li.fitemGID = ib.fitemGID

where li.GID = '[ESFISalesDocLineItem].[GID]' and li.TotalValue = 0 )

where fitemGID in

(select fitemGID

from ESFISalesDocLineItem

where GID = '[ESFISalesDocLineItem].[GID]' and TotalValue = 0 )

and fwarehouseGID in (select fcurrentWarehousegid from ESGOCompany);

delete from ESFISalesDocLineItem

where GID = '[ESFISalesDocLineItem].[GID]' and TotalValue = 0" />

</BusinessRule>

information Σημείωση

Στο σενάριο αυτόματης γένεσης παραστατικού μέσω «διάσπασης», δεν υπάρχει δυνατότητα εμφάνισης του παραγόμενου παραστατικού. Αυτό σημαίνει ότι, η υπογραφή & εκτύπωση του παραστατικού, πρέπει να γίνουν σε δεύτερο χρόνο.

Online εταιρική πολιτική

Αντιστοίχιση πεδίων παραστατικού

Κατά την κλήση της διαδικασίας εφαρμογής online εταιρικής πολιτικής αποστέλλονται προς & λαμβάνονται από τα κεντρικά όλα τα «ονοματισμένα» πεδία του τρέχοντος παραστατικού. Για επαύξηση της ανταλλασσόμενης πληροφορίας με ελεύθερα οριζόμενα πεδία της επικεφαλίδας ή της γραμμής παραστατικού, απαιτείται η προσθήκη εντολών που περιγράφουν την επιθυμητή αντιστοίχιση των πεδίων (εντολή OnLineSaveMapping για αποστολή προς κεντρικά & OnLineSaveReturnMapping για λήψη από κεντρικά) και αποθήκευση των εντολών αυτών στο φάκελο της φόρμας διαχείρισης παραστατικού (π.χ. περιοχή CSForms\GenericDocForm\6 για παραστατικό τύπου τιμολόγιο πώλησης).

π.χ. για αποστολή προς τα κεντρικά της πληροφορίας «Πίνακας-1» της επικεφαλίδας παραστατικού

εντολή: OnLineSaveMapping

<OnLineSaveMapping>

<Header>

<Columns>

<Column ServerName="fADTableField2Code" LocalName="fADTableField2Code" Type="System.String"/>

</Columns>

</Header>

<Line>

<Columns>

</Columns>

</Line>

</OnLineSaveMapping>

π.χ. για λήψη από τα κεντρικά της πληροφορίας «Αριθμός-1» της επικεφαλίδας παραστατικού

εντολή: OnLineSaveMapping

<OnLineSaveMapping>

<Header>

<Columns>

<Column ServerName="ADValueField1" LocalName="NumericField1" Type="System.Decimal"/>

</Columns>

</Header>

<Line>...

</OnLineSaveMapping>

εντολή: OnLineSaveReturnMapping

<OnLineSaveMapping>

<Header>

<Columns>

<Column ServerName="ADValueField1" LocalName="NumericField1" Type="System.Decimal"/>

</Columns>

</Header>

<Line>...

</OnLineSaveMapping>

Αυτόματη εφαρμογή

Παρέχεται η δυνατότητα είτε για εξειδίκευση της αυτόματης εφαρμογής της online εταιρικής πολιτικής σε επίπεδο σημείου πώλησης είτε για υπό συνθήκες ενεργοποίηση της. Οι ρυθμίσεις που απαιτούνται είναι:

  • Ενεργοποίηση σε σημείο πώλησης, Θα πρέπει ο τύπος παραστατικού να έχει ενεργοποιημένο το χαρακτηρισμό «Αυτόματη εφαρμογή online εταιρικής πολιτικής», στην παράμετρο κινητού «Doc_AutoApplyCommercialPolicy_SiteField» να έχει δηλωθεί το πεδίο της οντότητας διεύθυνση (π.χ. NumericField1) που θέλουμε να χρησιμοποιηθεί από τη συγκεκριμένη διαδικασία και τέλος να φροντίσουμε έτσι ώστε το πεδίο αυτό να ενημερώνεται με την τιμή 1 ή 0 ανάλογα με το αν επιθυμούμε ή όχι την αυτόματη εφαρμογή.
  • Ενεργοποίηση υπό συνθήκες. Θα πρέπει ο τύπος παραστατικού να έχει μη ενεργοποιημένο το χαρακτηρισμό «Αυτόματη εφαρμογή online εταιρικής πολιτικής» και να γίνει δήλωση, μέσω χρήσης του εργαλείου Business rules, του επιθυμητού κανόνα ανάθεσης τιμής στο non store πεδίο AutoApplyOnlinePolicy της επικεφαλίδας παραστατικού. Η ανάθεση θα πρέπει να γίνει στη φάση κλήσης της ενέργειας αποθήκευσης του παραστατικού (Activation 7-OnAboutToSave).

π.χ. αυτόματη εφαρμογή online εταιρικής πολιτικής μόνο όταν το παραστατικό περιλαμβάνει συντιθέμενο είδος

π.χ. αυτόματη εφαρμογή online εταιρικής πολιτικής μόνο όταν η απόδειξη περιλαμβάνει γραμμή τύπου έμβασμα

Παραρτήματα

Command / Ιδιότητες

Στο παράρτημα αυτό γίνεται παράθεση των ιδιοτήτων προς ρύθμιση σε επίπεδο εντολής. Κάποιες «κλασικές» ιδιότητες είναι διαθέσιμες προς χρήση σε παντός τύπου οθόνες. Όμως, σε συγκεκριμένους τύπους οθόνης, ο κατάλογος των διαθέσιμων ιδιοτήτων εμπλουτίζεται και με επιπλέον ιδιότητες.

Παντός τύπου οθόνη
AskMessage (String)
Εμφάνιση, κατά την κλήση ενέργειας, μηνύματος προειδοποίησης μέσω του οποίου δίνεται η δυνατότητα εκτέλεσης (button: ΟΚ) ή ακύρωσης εκτέλεσης (button: Cancel) της ενέργειας.

MOB-ImplementationGuide-5 2-image259.PNGπ.χ. για εκτέλεση της ad hoc μέτρησης με εμφάνιση μηνύματος προειδοποίησης

<MerchandisingSiteNewForm Assembly="Entersoft.Mobile.ESMerchandize"

Type="Entersoft.Mobile.ESMerchandize.NewTaskFromSiteCommand">

<Params>

<AskMessage Type="System.String" Value="Add new stock counting?" />

</Params>

</MerchandisingSiteNewForm>

BaseSelect (String)
Το βασικό select query της οθόνης.
CacheSearchPanel (Boolean)
Διατήρηση του περιεχομένου των κριτηρίων αναζήτησης εγγραφών (true) ή εκκαθάριση τους κατά το κλείσιμο της οθόνης (false).
ESQueryID (String)

Το όνομα του αρχείου στον οποίο έχει γίνει ο ορισμός του base select query. Συμπληρώνεται μόνο στην περίπτωση που, για λόγους επαναχρησιμοποίησης του select query, έχει επιλεγεί ο ορισμός του σε ανεξάρτητο αρχείο. Σε μια τέτοια περίπτωση, θα πρέπει η ιδιότητα BaseSelect να έχει κενό περιεχόμενο.

MOB-ImplementationGuide-5 2-image260.png Το ανεξάρτητο αρχείο κριτηρίων θα πρέπει να βρίσκεται στον υπό-φάκελο SearchPanels της περιοχής ESConfig ή CSConfig.

MOB-ImplementationGuide-5 2-image261.png Μέσω της μεταβλητής [WHERE], ενεργοποιούνται τα κριτήρια φιλτραρίσματος που έχουν δηλωθεί στην ιδιότητα Filter της εντολής.

π.χ. για χρήση του κοινού select query PersonList στις οθόνες «Διανομείς» & «Ανταγωνιστές»

<ESQuery

ID = "PersonList"

SQL ="select ... from ESGOPerson p [WHERE]"/>

<DistributorListForm Assembly="Entersoft.Mobile.ESMobile"

Type="Entersoft.Mobile.ESMobile.ListFormCreatorCommand">

<Params>

<Filter Type="System.String" Value="p.Distributor = 1 and p.Inactive = 0" />

<ESQueryID Type="System.String" Value="PersonList" />

</Params>

</DistributorListForm>

<CompetitorListForm Assembly="Entersoft.Mobile.ESMobile"

Type="Entersoft.Mobile.ESMobile.ListFormCreatorCommand">

<Params>

<Filter Type="System.String" Value="p.Competitor = 1 and p.Inactive = 0" />

<ESQueryID Type="System.String" Value="PersonList" />

</Params>

</CompetitorListForm>

ExecuteCondition (String)
Δυνατότητα, μέσω ορισμού ενός query, εκτέλεσης (τιμή: 1) ή όχι (τιμή: 0) της ενέργειας. Αν η πρώτη εγγραφή που φέρνει το query έχει την τιμή 0, η ενέργεια δεν εκτελείται.

π.χ. για καταχώριση ad hoc μέτρησης μόνο αν η τρέχουσα βάρδια είναι ανοικτή

<MerchandisingSiteNewForm Assembly="Entersoft.Mobile.ESMerchandize"

Type="Entersoft.Mobile.ESMerchandize.NewTaskFromSiteCommand">

<Params>

<ExecuteCondition Type="System.String" Value="

select

case when date(StartDate)=date('now') and EndDate is null then 1

else 0 end

from ESTMShift

order by StartDate desc" />

</Params>

</MerchandisingSiteNewForm>

ExtraCommand (String)
Δυνατότητα επέκτασης των στοιχείων της εντολής που αφορούν στα δεδομένα της οθόνης (π.χ. προσθήκη επιπλέον joins)
Filter (String)

Τα «στατικά» κριτήρια φιλτραρίσματος των δεδομένων της οθόνης. Μπορεί να γίνει χρήση:

  • κολόνας από το base select query

π.χ. <Filter Type="System.String" Value="p.Distributor = 1 and p.Inactive = 0"

  • προκαθορισμένης μεταβλητής

π.χ. <Filter Type="System.String" Value="p.GID = ‘[CURRENT]’"

  • συνδυασμός κολόνας & μεταβλητής

π.χ. <Filter Type="System.String" Value="p.PersonKind = 0 and p.GID = ‘[CURRENT]’"

FormID (String)
Ο φάκελος της περιοχής CSForms που αφορά στη σχετιζόμενη με τη συγκεκριμένη εντολή φόρμα.
GroupBy (String)
Τα κριτήρια ομαδοποίησης των δεδομένων της οθόνης.
OnStartValidation (String)
Δυνατότητα ορισμού, μέσω ενός query, της συνθήκης που πρέπει να πληρείται προκειμένου να είναι εφικτή η εκτέλεση της ενέργειας. Αν το query επιστρέψει έστω και μια εγγραφή, η ενέργεια δεν εκτελείται εμφανίζοντας ως μήνυμα λάθους το περιεχόμενο της 1ης κολόνας-γραμμής.

π.χ. για απαγόρευση καταχώρισης ad hoc μέτρησης όταν η τρέχουσα βάρδια δεν είναι ανοικτή

<MerchandisingSiteNewForm Assembly="Entersoft.Mobile.ESMerchandize"

Type="Entersoft.Mobile.ESMerchandize.NewTaskFromSiteCommand">

<Params>

<OnStartValidation Type="System.String" Value="

select 'No active shift. Add new stock counting is not allowed.' from ESTMShift

where date(StartDate)=date('now') and EndDate is not null" />

</Params>

</MerchandisingSiteNewForm>

OrderBy (String)

Τα κριτήρια ταξινόμησης των δεδομένων της οθόνης.

MOB-ImplementationGuide-5 2-image261.png Ο προτεινόμενος τρόπος δήλωσης των κριτηρίων ταξινόμησης είναι μέσω της ιδιότητας SortBy.

PostSaveCommand (String)
Δυνατότητα ορισμού της ενέργειας που εκτελείται μετά την αποθήκευση μιας εγγραφής.
RefreshParent (Boolean)
Δυνατότητα ανανέωσης των στοιχείων της dashboard οθόνης μετά από εκτέλεση εντολής τύπου SQLCommand.
RequiresExtraPin (Boolean)
Εμφάνιση, κατά την κλήση ενέργειας, οθόνης δήλωσης του παρεχόμενου, από εξουσιοδοτημένο χρήστη των κεντρικών, κωδικού έγκρισης εκτέλεσης της ενέργειας.

MOB-ImplementationGuide-5 2-image120.pngπ.χ. για απαίτηση έγκρισης από εξουσιοδοτημένο χρήστη κεντρικών στην ad hoc μέτρηση

<MerchandisingSiteNewForm Assembly="Entersoft.Mobile.ESMerchandize"

Type="Entersoft.Mobile.ESMerchandize.NewTaskFromSiteCommand">

<Params>

<RequiresExtraPin Type="System.Boolean" Value="true" />

</Params>

</MerchandisingSiteNewForm>

MOB-ImplementationGuide-5 2-image261.png Η παραγωγή του απαιτούμενου κωδικού πρόσβασης γίνεται από τα κεντρικά μέσω χρήσης του ανάλογου εργαλείου (εργαλείο PermissionRequest).

RequiresPassword (Boolean)
MOB-ImplementationGuide-5 2-image121.pngΕμφάνιση, κατά την κλήση ενέργειας, οθόνης δήλωσης κωδικού πρόσβασης στην εφαρμογή.

π.χ. για απαίτηση δήλωσης του κωδικού πρόσβασης του χρήστη στην ad hoc μέτρηση

<MerchandisingSiteNewForm Assembly="Entersoft.Mobile.ESMerchandize"

Type="Entersoft.Mobile.ESMerchandize.NewTaskFromSiteCommand">

<Params>

<RequiresPassword Type="System.Boolean" Value="true" />

</Params>

</MerchandisingSiteNewForm>

SaveMenu (String)
Οι επιλογές του πλήκτρου αποθήκευσης. Οι κλασικές επιλογές είναι: 1-Αποθήκευση, 2-Ολοκλήρωση, 3-Ακύρωση.
SearchPanelFilter (String)
Τα εναλλακτικά κριτήρια αναζήτησης των δεδομένων της οθόνης.
SearchPanelID (String)

Το όνομα του αρχείου στον οποίο έχει γίνει ο ορισμός των εναλλακτικών κριτηρίων αναζήτησης. Συμπληρώνεται μόνο στην περίπτωση που, για λόγους επαναχρησιμοποίησης των κριτηρίων αναζήτησης, έχει επιλεγεί ο ορισμός τους σε ανεξάρτητο αρχείο. Σε μια τέτοια περίπτωση, θα πρέπει η ιδιότητα SearchPanelFilter να έχει κενό περιεχόμενο.

MOB-ImplementationGuide-5 2-image261.png Το ανεξάρτητο αρχείο κριτηρίων θα πρέπει να βρίσκεται στον υπό-φάκελο SearchPanels της περιοχής ESConfig ή CSConfig.

ShowMessage (String)
Δυνατότητα ορισμού, μέσω ενός query, της συνθήκης που πρέπει να πληρείται προκειμένου να είναι εφικτή η εμφάνιση ενός μηνύματος. Αν το query επιστρέψει έστω και μια εγγραφή, εμφανίζεται μήνυμα με το περιεχόμενο της 1ης κολόνας-γραμμής του query.

π.χ. για εμφάνιση μηνύματος κατά την καταχώριση μέτρησης σε πελάτη με εκκρεμείς εντολές είσπραξης

<MerchandisingSiteNewForm Assembly="Entersoft.Mobile.ESMerchandize"

Type="Entersoft.Mobile.ESMerchandize.NewTaskFromSiteCommand">

<Params>

<ShowMessage Type="System.String" Value="

select 'Have in mind that the customer has pending collection orders.'

from ESTMCollection where state=0 and fAddressGID ='[PARENT]'" />

</Params>

</MerchandisingSiteNewForm>

SortBy (SortBy)
Τα εναλλακτικά κριτήρια ταξινόμησης των δεδομένων της οθόνης.
Title (String)
Το λεκτικό που αφορά στον τίτλο της σχετιζόμενης με τη συγκεκριμένη εντολή οθόνης.
ValidateDataEnabled (Boolean)
Icon Description automatically generated Ιδιότητα μη ενεργοποιημένη σε ESMobile εφαρμογή.
Οθόνες επιλογής
FilterBy (String)
Δυνατότητα περιορισμού των δεδομένων της λίστας βάσει της τιμής άλλων πεδίων της Data entry οθόνης.
ImageColumn (String)
Η κολόνα συσχέτισης εγγραφής λίστας – αρχείου εικόνας.
ImageDirectory (String)
Ο φάκελος αποθήκευσης των αρχείων εικόνας.
ImageExtension (String)
Ο τύπος των αρχείων εικόνας.
LoadDataOnOpenForm (Boolean)

Δυνατότητα άμεσης εμφάνισης των δεδομένων (τιμή: true) ή εμφάνιση-ανανέωση τους μετά από συμπλήρωση των επιμέρους κριτηρίων αναζήτησης (τιμή: false).

MOB-ImplementationGuide-5 2-image261.png Η ιδιότητα αυτή είναι διαθέσιμη και σε οθόνη τύπου ListForm.

SelectaAllEnabled (Boolean)
Δυνατότητα εμφάνισης του πλήκτρου που αφορά στη μαζική καταχώριση ποσότητας για το σύνολο των εγγραφών. Αφορά μόνο σε iOS πλατφόρμα.
SelectAllQtyEnabled (Boolean)
Δυνατότητα εμφάνισης του πλήκτρου που αφορά στη μαζική καταχώριση ποσότητας για το σύνολο των εγγραφών. Αφορά μόνο σε UWP & Android πλατφόρμα.
Data entry οθόνη τύπου EditForm
ActionsCommand (String)
Οι διαθέσιμες επιλογές του μενού πλήκτρου Icon Description automatically generated-Ενέργειες. Ο ορισμός των επιθυμητών ενεργειών γίνεται μέσω χρήσης εντολής τύπου CommandSelector.
BaseInsert (String)
Το βασικό insert query της οθόνης.
BaseUpdate (String)
Το βασικό update query της οθόνης.
Editable (Boolean)
Δυνατότητα απαγόρευσης επέμβασης στα στοιχεία ης εγγραφής.
IsParamsPanel (Boolean)
Δυνατότητα εμφάνισης ερωτώμενων παραμέτρων εκτέλεσης της EBS όψης.
IsTask (Boolean)
Δυνατότητα επιλογής κατάστασης αποθήκευσης. Αφορά μόνο στην οντότητα Task.
OnCompleteValidation (String)
Δυνατότητα ορισμού, μέσω ενός query, της συνθήκης που πρέπει να πληρείται προκειμένου να είναι εφικτή η αποθήκευση εργασίας σε κατάσταση 2-Ολοκλήρωση ή 3-Ακύρωση. Αν το query επιστρέψει έστω και μια εγγραφή, η αποθήκευση δεν εκτελείται εμφανίζοντας ως μήνυμα λάθους το περιεχόμενο της 1ης κολόνας-γραμμής.

π.χ. για απαγόρευση ολοκλήρωσης της συνάντησης όταν η τρέχουσα βάρδια δεν είναι ανοικτή

<AppointmentEditForm Assembly="Entersoft.Mobile.ESMobile"

Type="Entersoft.Mobile.ESMobile.EditFormCreatorCommand">

<Params>

<OnCompleteValidation Type="System.String" Value="

select 'No active shift. Competing the appointemnet is not allowed.'

from ESTMShift

where date(StartDate)=date('now') and EndDate is not null" />

</Params>

</AppointmentEditForm>

RelatedFields (String)

Δυνατότητα «συγχρονισμού» της τιμής ενός πεδίου μετά από αλλαγή στο περιεχόμενο άλλου πεδίου. Ο ορισμός θα πρέπει να είναι της μορφής:

MainField1[,]RelatedField1[=]Relation1[,]RelatedField2[=]Relation2[;]

MainField2[,]RelatedField1[=]Relation1[,]RelatedField2[=]Relation2

π.χ. για ανάθεση τιμής στα πεδία «Περιγραφή επαγγέλματος» & «Έκπτωση» της φόρμας πελάτη από τα πεδία «Επάγγελμα» & «Τρόπος πληρωμής» αντίστοιχα.

<CustomerEditForm Assembly="Entersoft.Mobile.ESMobile"

Type="Entersoft.Mobile.ESMobile.EditFormCreatorCommand">

<Params>

<RelatedFields Type="System.String" Value="

fActivityCode[,]ActivityDescription[=]

select Description,Description from ESGOZActivity where Code = '[fActivityCode]'[;]

fPaymentMethodGID[,]Discount[=]

select NumericField1,NumericField1 from ESFIPaymentMethod where GID = '[fPaymentMethodGID]'" />

</Params>

</CustomerEditForm>

RequiredFields (String)
Τα πεδία υποχρεωτικής συμπλήρωσης (comma separated list). Υπάρχει και η δυνατότητα ορισμού μιας συνθήκης (με χρήση αριθμητικού πεδίου) η οποία θα καθιστά υποχρεωτική τη συμπλήρωση.
Icon Description automatically generated Η ιδιότητα είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα αυτή παρέχεται πλέον μέσω κατάλληλης ρύθμισης του DetailView αρχείου της EditForm οθόνης (ιδιότητα Required).
TaskType (String)
Ο τύπος εργασίας. Για τους εργασίας Συνάντηση πωλήσεων & Εργασία πωλήσεων δηλώνεται η τιμή 1 & 3 αντίστοιχα. Για οποιονδήποτε άλλον τύπο εργασίας δηλώνεται το αντίστοιχο InternationalID. Αφορά μόνο σε οθόνη τύπου NamedTask.
Data entry οθόνη τύπου DocForm
AllowZeroLines (Boolean)
Δυνατότητα, σε ενέργεια καταχώρισης νέου παραστατικού από εργασία, δημιουργίας παραστατικού χωρίς γραμμές. Αφορά μόνο στην οντότητα Document.
AutoSave (Boolean)
Δυνατότητα ταυτόχρονης δημιουργίας & αποθήκευσης ενός αυτόματα παραγόμενου παραστατικού. Αφορά μόνο στην οντότητα Document.
CreateHeaderQuery (String)
Το query ανάθεσης τιμών στα πεδία της επικεφαλίδας αυτόματα παραγόμενης εργασίας-παραστατικού.
CreateLinesAnalysisQuery (String)
Το query ανάθεσης τιμών στα πεδία της γραμμής ανάλυσης ενός παραγόμενου παραστατικού. Αφορά μόνο στην οντότητα Document.
CreateLinesQuery (String)
Το query ανάθεσης τιμών στα πεδία της γραμμής αυτόματα παραγόμενης εργασίας–παραστατικού.
CreateTaskItemSQL (String)

Το select query για αυτόματη εισαγωγή γραμμών εργασίας. Αφορά μόνο στην οντότητα Task.

MOB-ImplementationGuide-5 2-image261.png Η ιδιότητα είναι διαθέσιμη μόνο σε εντολές τύπου NewTaskFromCampaign.

DetailRelatedFields (String)

Δυνατότητα «συγχρονισμού» της τιμής ενός πεδίου μετά από αλλαγή στο περιεχόμενο άλλου πεδίου. Αφορά μόνο στην οντότητα Task.

Icon Description automatically generated Η ιδιότητα είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα αυτή παρέχεται πλέον μέσω χρήσης του εργαλείου Business Rules (Activation: 0-OnChangeField).

DetailRequiredFields (String)

Τα πεδία υποχρεωτικής συμπλήρωσης. Αφορά μόνο στην οντότητα Task.

Icon Description automatically generated Η ιδιότητα είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα αυτή παρέχεται πλέον μέσω χρήσης του εργαλείου Business Rules (Activation: 2-OnSave).

DocType (String)
Ο τύπος παραστατικού. Δήλωση της ιδιότητας αυτής είναι απαραίτητη μόνο όταν ο τύπος παραστατικού δεν προκύπτει από την παραμετροποίηση του πλήκτρου κλήσης της ενέργειας. Αφορά μόνο στην οντότητα Document..
HasValidData (String)
Δυνατότητα ορισμού, μέσω ενός query, της συνθήκης που πρέπει να πληρείται προκειμένου να είναι εφικτή η εκτέλεση ενέργειας δημιουργίας παραστατικού. Αν το query δεν επιστρέψει έστω και μια εγγραφή, η ενέργεια δεν εκτελείται. Αφορά μόνο στην οντότητα Document.

π.χ. για καταχώριση νέας παραγγελίας μόνο αν η τρέχουσα βάρδια είναι ανοικτή

<NewDocumentfromSite Assembly="Entersoft.Mobile.ESMobile" Type="Entersoft.Mobile.ESMobile.NewDocumentFromSiteCommand">

<Params>

<HasValidData Type="System.String" Value="

select 0

from ESTMShift

where date(StartDate)=date('now') and EndDate is null" />

</Params>

</NewDocumentfromSite>

HeaderRelatedFields (String)

Δυνατότητα «συγχρονισμού» της τιμής ενός πεδίου μετά από αλλαγή στο περιεχόμενο άλλου πεδίου. Αφορά μόνο στην οντότητα Task.

Icon Description automatically generated Η ιδιότητα είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα αυτή παρέχεται πλέον μέσω χρήσης του εργαλείου Business Rules (Activation: 0-OnChangeField).

HeaderRequiredFields (String)

Τα πεδία υποχρεωτικής συμπλήρωσης.

MOB-ImplementationGuide-5 2-image262.png Η ιδιότητα είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα αυτή παρέχεται πλέον είτε μέσω κατάλληλης ρύθμισης του DetailView αρχείου της DocForm οθόνης (ιδιότητα Required) είτε μέσω του εργαλείου Business Rules (Activation: 2-OnSave).

NoDetail (Boolean)
Σε εργασία για την οποία δεν υπάρχει δυνατότητα διαχείρισης γραμμών (π.χ. Συναντηση), η δήλωση της τιμής true είναι υποχρεωτική. Αφορά μόνο στην οντότητα Task.
NullCustomer (Boolean)
Σε παραστατικό τύπου διακίνησης αποθέματος (π.χ. Δελτίο αποστολής σε υποκατάστημα), η δήλωση της τιμής true είναι υποχρεωτική. Αφορά μόνο στην οντότητα Document.
ShowDocument (Boolean)
Δυνατότητα εμφάνισης ή απόκρυψης ενός αυτόματα παραγόμενου παραστατικού. Αφορά μόνο στην οντότητα Document.
TaskType (String)
Ο τύπος εργασίας. Δηλώνεται το InternationalID του τύπου εργασίας. Αφορά μόνο στην οντότητα Task.
Οθόνη τύπου ModalForm
DoneButtonTitle (String)

Το λεκτικό του πλήκτρου «Επίλογή» της οθόνης.

MOB-ImplementationGuide-5 2-image261.png Η ιδιότητα αυτή είναι λειτουργική μόνο στην περίπτωση απευθείας κλήσης της οθόνης από μενού επιλογή.

Modal (Boolean)

Δυνατότητα εμφάνισης της οθόνης, υπό μορφή modal παράθυρου.

MOB-ImplementationGuide-5 2-image261.png Η ιδιότητα αυτή είναι λειτουργική μόνο στην περίπτωση απευθείας κλήσης της οθόνης από μενού επιλογή.

MultiSelect (Boolean)
Ενεργοποίηση της δυνατότητας πολλαπλής επιλογής εγγραφών λίστας.
OnSelectCommand (String)

Δυνατότητα ορισμού της ενέργειας που εκτελείται με πάτημα του πλήκτρου «Επιλογή». Η ενέργεια εκτελείται επί επιλεγμένων εγγραφών της λίστας,

MOB-ImplementationGuide-5 2-image261.png Η ιδιότητα αυτή είναι λειτουργική μόνο στην περίπτωση απευθείας κλήσης της οθόνης από μενού επιλογή.

Command / Μεταβλητές

Στο παράρτημα αυτό γίνεται παράθεση των μεταβλητών που είναι διαθέσιμες προς χρήση σε ιδιότητες της εντολής όπου απαιτείται η σύνταξη ενός query (ιδιότητες BaseSelect, BaseInsert, Filter κ.λπ.). Κάποιες «κλασικές» μεταβλητές είναι διαθέσιμες προς χρήση σε παντός τύπου οθόνες. Όμως, σε συγκεκριμένους τύπους οθόνης, ο κατάλογος των διαθέσιμων μεταβλητών εμπλουτίζεται και με επιπλέον μεταβλητές. Σημειώνουμε εδώ ότι, ανεξάρτητα τύπου οθόνης και ιδιότητας, η δήλωση της προς χρήση μεταβλητής θα πρέπει να γίνεται μέσα σε brackets (π.χ. [CURRENT])

Παντός τύπου οθόνη
[CURRENT]
[PARENT]
[USERID]
[APPLICATIONID]
[BRANCHGID]
[CAMPAIGNGID]
[FITEMGID]
[FCATALOGUEITEMGID]
[TASKBEGINDATE]
[TASKENDDATE]
Οθόνη τύπου Λίστα εισαγωγής γραμμών (π.χ. AddLineForm)
[FADDRESSGID]
[DOCTYPE]
[FCAMPAIGNGID]
[PRODUCTPROPOSALGID]
[LEVEL]
[MULTIPLIER]
[FIELD]

Η μεταβλητή τροφοδοτείται απευθείας με την τιμή πεδίου του σκέλους Επικεφαλίδα της DocForm οθόνης από την οποία γίνεται κλήση της λίστας εισαγωγής γραμμών, δηλαδή από πεδίο του πίνακα ESTMTask για την οντότητα Task ή του πίνακα ESFISalesDocument για την οντότητα Document.

π.χ. [fTradeAccountGID] για τροφοδότηση από το πεδίο «Συναλλασσόμενος» της επικεφαλίδας εργασίας ή παραστατικού

Οθόνη τύπου Local report (DataGridReport)
[PERIOD]
[SALESPERSON]
[UDFFIELD1]
[UDFFIELD2]
[UDFFIELD3]
[UDFFIELD4]
[UDFFIELD5]

Παράμετροι κινητού

Η ρύθμιση των παραμέτρων κινητού γίνεται από τα κεντρικά. Παρέχεται η δυνατότητα διαφοροποίησης της τιμής των παραμέτρων τόσο σε επίπεδο ESMobile εφαρμογής όσο και σε επίπεδο συγκεκριμένου χρήστη της ESMobile εφαρμογής. Η μεταφορά των παραμέτρων στην τοπική βάση δεδομένων γίνεται μέσω της διαδικασίας αρχικοποίησης δεδομένων.

Στο παράρτημα αυτό γίνεται παράθεση των διαθέσιμων παραμέτρων κινητού έχοντας κάνει μια ομαδοποίησης τους βάσει της «περιοχής» της ESMobile εφαρμογής στην οποία προσδίδουν λειτουργικότητα. Σημειώνουμε εδώ ότι, οι περισσότερες παράμετροι αφορούν σε όλες τις ESMobile εφαρμογές. Οι παράμετροι που κατ’ εξαίρεση αφορούν σε συγκεκριμένη εφαρμογή επισημαίνονται ανάλογα.

Γενικά
Administrator_Email
Η ηλεκτρονική διεύθυνση για αποστολή μηνύματος αναφοράς σφάλματος της εφαρμογής. π.χ. admin@wwf.gr
AllCustomers
Παρέχεται το δικαίωμα αποστολής, μέσω της διαδικασίας συγχρονισμού δεδομένων, της πλήρους λίστας πελατών. 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την επιλογή «Όλους τους πελάτες» του πεδίου «Δικαιώματα επικοινωνίας» της συσκευής.
AllowReceive
Ρύθμιση του δικαιώματος κλήσης της διαδικασίας λήψης δεδομένων όταν η επικοινωνία γίνεται μέσω της υπηρεσίας «δεδομένα κινητής τηλεφωνίας». 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την επιλογή «Επιτρέπεται η λήψη» του πεδίου «Δικαιώματα επικοινωνίας» της συσκευής.
AllowSend
Ρύθμιση του δικαιώματος κλήσης της διαδικασίας αποστολής δεδομένων όταν η επικοινωνία γίνεται μέσω της υπηρεσίας «δεδομένα κινητής τηλεφωνίας». 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την επιλογή «Επιτρέπεται η αποστολή» του πεδίου «Δικαιώματα επικοινωνίας» της συσκευής.
AllowSyncPushLargeFiles
Ρύθμιση του δικαιώματος κλήσης της διαδικασίας αποστολής συνημμένων αρχείων όταν η επικοινωνία γίνεται μέσω της υπηρεσίας «δεδομένα κινητής τηλεφωνίας». 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την επιλογή «Αποστολή συνημμένων αρχείων» του πεδίου «Δικαιώματα επικοινωνίας» της συσκευής.
AttachedSitePhotoCategory
Ο κωδικός της κατηγορίας που χαρακτηρίζει τα αρχεία εικόνας (attachments) σημείου πώλησης. π.χ. SITE_PHOTO
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την παράμετρο εταιρείας «Κατηγορία σχετικών εγγράφων που αφορούν σε φωτογραφίες υποκαταστημάτων».
AttachmentPath
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
AutoCheckVersion
Ενεργοποίηση της λειτουργικότητας που αφορά στον αυτόματο, με την είσοδο του χρήστη στην εφαρμογή, έλεγχο συμβατότητας της έκδοσης που είναι εγκατεστημένη στη συσκευή με την έκδοση που είναι εγκατεστημένη στον IIS server. 0-Όχι ή 1-Ναι
CallBefore
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
CradleCommand
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Culture
Ρύθμιση της μορφής εμφάνισης των στοιχείων τοπικότητας (ημερομηνίες & αριθμοί). Αφορά μόνο σε iOS πλατφόρμα. π.χ. el-GR
CurrencyNegativePattern
H μορφή εμφάνισης πεδίου τύπου «Αξία σε νόμισμα» με αρνητική αξία. π.χ. 15
MOB-ImplementationGuide-5 2-image261.png Οι διαθέσιμες επιλογές είναι:
0 ($n) 4 (n$) 8 -n $ 12 $ -n
1 -$n 5 -n$ 9 -$ n 13 n- $
2 $-n 6 n-$ 10 n $- 14 ($ n)
3 $n- 7 n$- 11 $ n- 15 (n $)
CurrencyPositivePattern
H μορφή εμφάνισης πεδίου τύπου «Αξία σε νόμισμα» με θετική αξία. π.χ. 3
MOB-ImplementationGuide-5 2-image261.png Οι διαθέσιμες επιλογές είναι:
0 $n 1 n$ 2 $ n 3 n $
CurrencySymbol
Το σύμβολο του νομίσματος. Για μη εμφάνιση συμβόλου, δηλώνεται ο χαρακτήρας «κενό». π.χ. € ή EUR
ES_TAXISNET_PUBLICAFM
Τα στοιχεία σύνδεσης στην υπηρεσία ελέγχου στοιχείων Α.Φ.Μ του taxis.
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την αντίστοιχη παράμετρο εταιρείας.
fDamagedGoodsWHGID xVan
Ο ΑΧ που έχει χαρακτηριστεί ως αποθήκη κατεστραμμένων.
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από το πεδίο «Αποθήκη κατεστραμμένων» του προφίλ υπηρεσιών του χρήστη.
Googlekey
Το κλειδί για χρήση της χαρτογραφικής υπηρεσίας της Google.
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την αντίστοιχη παράμετρο εταιρείας.
GPS_State
Ρύθμιση της λειτουργικότητας που αφορά στην καταγραφή του στίγματος του χρήστη. Οι ενέργειες κατά τις οποίες γίνεται καταγραφή στίγματος είναι προκαθορισμένες από τον ESMobile εφαρμογή και αναφέρονται στον παρακάτω πίνακα. Σε περίπτωση που το GPS της συσκευής είναι απενεργοποιημένο, η ανίχνευση απενεργοποιημένου GPS καταγράφεται ως διακριτό γεγονός στο αρχείο συμβάντων της συσκευής. Η καταγραφή αυτή γίνεται μια φορά ανά ημέρα. 0 & 1 Καταγραφή, 2-Καμία καταγραφή
Τύπος εγγραφής Ενέργεια
14 Συνάντηση πωλήσεων-Έναρξη
6 Συνάντηση πωλήσεων-Ολοκλήρωση
11 Εργασία πωλήσεων-Ολοκλήρωση
10 Είσπραξη-Ολοκλήρωση
19 Εργασία άλλου τύπου-Ολοκλήρωση
20 Εργασία on site-Άφιξη
21 Εργασία on site-Έναρξη
15 Εργασία on site-Ολοκλήρωση
16 Αντικατάσταση on site-Ολοκλήρωση
17 Προληπτική συντήρηση-Ολοκλήρωση
7 Παραγγελία
12 Προσφορά
22 Δελτίο επιστροφής πωλήσεων
23 Παραστατικό πωλήσεων άλλου τύπου
24 Παραστατικό διακίνησης
26 Άνοιγμα συνημμένου αρχείου
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από το πεδίο «Τρόπος καταγραφής» της συσκευής.
GPS_TimeOut
Ο χρόνος αναμονής για τον εντοπισμό GPS στίγματος (δευτερόλεπτα). Αφορά μόνο σε UWP & Android πλατφόρμα. π.χ. 5
HybridOnlineReports_BridgeID
Το Bridge σύνδεσης με τη εφαρμογή ESAnalyzer.
HybridOnlineReports_Host
Ο εξυπηρετητής της εφαρμογής ESAnalyzer.
HybridOnlineReports_SubscriptionID
Ο κωδικός συνδρομής της εφαρμογής ESAnalyzer.
HybridOnlineReports_SubscriptionPassword
Ο κωδικός πρόσβασης στην εφαρμογή ESAnalyzer.
HybridOnlineReports_Version
Ο αριθμός έκδοσης της εφαρμογής ESAnalyzer.
KeyboardMainLanguage
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Lists_RecordCount
Εμφάνιση της πληροφορίας «Πλήθος εγγραφών» στις λίστες δεδομένων. Αφορά μόνο σε UWP & Android πλατφόρμα. 0-Όχι ή 1-Ναι
MailClient
Η εφαρμογή μέσω της οποίας γίνεται η αποστολή E-mail. Αφορά μόνο σε iOS πλατφόρμα. 0-Native iOS ή 1-MS Outlook
MOB-ImplementationGuide-5 2-image261.png Για να είναι εφικτή η δυνατότητα αποστολής E-mail που περιλαμβάνει επισυναπτόμενο αρχείο, απαιτείται δήλωση της τιμής 0-Native iOS.
MailMergeMode
Ρύθμιση της συμπεριφοράς της διαδικασίας αποστολής εργασίας-παραστατικού μέσω E-mail. 0-HTML, 1-PDF, 2-PDF/Speech ή 3-Inactive
Map_NearestSiteRadius
Η προτεινόμενη τιμή για τη χιλιομετρική ακτίνα αναζήτησης της οθόνης «Κοντινοί πελάτης». π.χ. 10
Memo_Disable_FolderButton
Απενεργοποίηση της δυνατότητας επισύναψης αρχείου εικόνας μέσω επιλογής ήδη υπάρχουσας φωτογραφίας. Αφορά μόνο σε iOS πλατφόρμα. 0-Όχι ή 1-Ναι
MessageOnLoginCommand
Η εντολή που καθορίζει τα δεδομένα της λίστας μηνυμάτων προς το χρήστη. π.χ. UnreadUserMessageListForm
MobileDataBasedOn
Ενεργοποίηση της δυνατότητας ανάθεσης πελατολογίου βάσει επικράτειας. 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την αντίστοιχη παράμετρο εταιρείας.
ModalNumericKeyboard
Ενεργοποίηση της δυνατότητας για κλείσιμο της οθόνης του αριθμητικού πληκτρολογίου μόνο μέσω χρήσης των πλήκτρων «ΟΚ» ή «Ακύρωση». Αφορά μόνο σε iOS πλατφόρμα. 0-Όχι ή 1-Ναι
NumberDecimalSeparator
Ο χαρακτήρας που χρησιμοποιείται για το διαχωρισμό των δεκαδικών ψηφίων ενός αριθμού. Επισημαίνουμε εδώ ότι, η παράμετρος δηλώνει το χαρακτήρα με τον οποίο αποθηκεύονται τα αριθμητικά πεδία στη βάση δεδομένων.
MOB-ImplementationGuide-5 2-image261.png Στην περίπτωση που δηλωθεί ο χαρακτήρας κόμμα απαιτείται και η ανάλογη ρύθμιση στα txt αρχεία των σεναρίων εισαγωγής δεδομένων (πεδίο «Υποδιαστολή» της οθόνης «Στοιχεία πηγής»)
NumberGroupSeparator
Ο χαρακτήρας που χρησιμοποιείται για το διαχωρισμό των χιλιάδων ενός αριθμού. Επισημαίνουμε εδώ ότι, η παράμετρος δηλώνει το χαρακτήρα με τον οποίο αποθηκεύονται τα αριθμητικά πεδία στη βάση δεδομένων.
NumericKeyboardSizeFactor
Το μέγεθος της οθόνης του αριθμητικού πληκτρολογίου. Προτεινόμενες τιμές από 1.1 έως 1.8. Αφορά μόνο σε iOS πλατφόρμα. π.χ. 1.3
OnlineServices
Ρύθμιση του δικαιώματος κλήσης online εκτύπωσης όταν η επικοινωνία γίνεται μέσω της υπηρεσίας «δεδομένα κινητής τηλεφωνίας». 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την επιλογή «Online υπηρεσίες» του πεδίου «Δικαιώματα επικοινωνίας» της συσκευής.
PanicSMSnumber
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Photo_Url
Το URL περιοχής αποθήκευσης των αρχείων εικόνας που αφορούν στις φωτογραφήσεις. π.χ.http://192.168.1.195/ESMobilePhotos/
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την παράμετρο εταιρείας «Φωτογραφίες από κινητά - Φάκελος αποθήκευσης».
ReceiveNewVersion
Ρύθμιση του δικαιώματος κλήσης της διαδικασίας λήψης έκδοσης όταν η επικοινωνία γίνεται μέσω της υπηρεσίας «δεδομένα κινητής τηλεφωνίας». 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την επιλογή «Λήψη νέας έκδοσης» του πεδίου «Δικαιώματα επικοινωνίας» της συσκευής.
SFList_GroupFieldCustomer
Το κριτήριο που χρησιμοποιείται για την ομαδοποίηση των δεδομένων μιας λίστας που αναφέρεται στην οντότητα πελάτης. Αφορά μόνο σε UWP & Android πλατφόρμα.
SFList_GroupFieldItem
Το κριτήριο που χρησιμοποιείται για την ομαδοποίηση των δεδομένων μιας λίστας που αναφέρεται στην οντότητα είδος. Αφορά μόνο σε UWP & Android πλατφόρμα.
ShiftFunctionality xVan
Η λειτουργικότητα που προσδίδεται στη βάρδια. Επιλέγοντας την τιμή 1 ή 2, κατά την είσοδο στην εφαρμογή και εφόσον δεν υπάρχει ενεργή βάρδια, ενεργοποιείται αυτόματα η διαδικασία έναρξης βάρδιας. Επιλέγοντας τη τιμή 2, ενεργοποιούνται ταυτόχρονα και έλεγχοι που σχετίζονται με την έκδοση παραστατικών και το συγχρονισμό δεδομένων. 0-Τίποτα, 1-Εμφάνιση στο login ή 2-Ελεγκτικό εργαλείο
ShiftOnLoginCommand xVan
Η εντολή που εκτελείται κατά την είσοδο στην εφαρμογή για την κλήση της διαδικασίας έναρξης βάρδιας. Λειτουργεί σε συνδυασμό με την παράμετρο ShiftFunctionality. π.χ. ShiftOnLoginCommand
Sync_ReplaceInvalidContext
Καθορίζει το αν, σε περίπτωση ασυμφωνίας μεταξύ φόρμας-εντολής οθόνης τύπου EditForm, θα γίνει αντικατάσταση του περιεχομένου των μη συμβατών πεδίων με την τιμή null. 0-Όχι ή 1-Ναι
Βασικές οντότητες
CatalogueItemFieldImageName
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
DaysNewPerson MedRep
Πλήθος ημερών για χαρακτηρισμό ενός πελάτη ως νεοεισερχόμενου στην επικράτεια του χρήστη της συσκευής. π.χ. 7
GPS_AskPinSite
Ενεργοποίηση, κατά την καταχώριση νέας διεύθυνσης, της λειτουργικότητας που αφορά στον προσδιορισμό της γεωγραφικής θέσης. 0-Όχι ή 1-Ναι
ImageFileExtension
Ο τύπος των αρχείων εικόνας. Για να είναι εφικτή η συσχέτιση είδους-εικόνας είδους θα πρέπει, στο φάκελο ProductImages της συσκευής, να υπάρχουν αρχεία εικόνας αυτού του τύπου. π.χ. jpg
Item_ShowThumbs
Εμφάνιση στήλης εικόνας σε λίστες αναζήτησης. Αφορά μόνο σε iOS πλατφόρμα. 0-Όχι ή 1-Ναι
Item_URL_first_part
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
ItemFieldImageName
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
LegalSiteTypeDefaultCode
Ο προτεινόμενος, κατά την καταχώριση νέου προσώπου, τύπος διεύθυνσης. π.χ. ΕΔΡΑ
MOB-ImplementationGuide-5 2-image261.png Το περιεχόμενο της παραμέτρου θα πρέπει να ταυτίζεται με τον κωδικό εγγραφής του πίνακα «ESGOZSiteType».
PhysicalSiteTypeDefaultCode
Ο προτεινόμενος, κατά την καταχώριση νέας επαφής, τύπος διεύθυνσης. π.χ. ΚΑΤΟΙΚΙΑ
MOB-ImplementationGuide-5 2-image261.png Το περιεχόμενο της παραμέτρου θα πρέπει να ταυτίζεται με τον κωδικό εγγραφής του πίνακα «ESGOZSiteType».
PreferredCountryInternationalID
Ο προτεινόμενος, κατά την καταχώριση νέας διεύθυνσης, κωδικός χώρας. π.χ. GR
MOB-ImplementationGuide-5 2-image261.png Το περιεχόμενο της παραμέτρου θα πρέπει να ταυτίζεται με τον κωδικό εγγραφής του πίνακα «ESGOZCountry».
Site_IBAN_ValidationField
Το πεδίο της διεύθυνσης στο οποίο δηλώνεται ο κωδικός IBAN του τραπεζικού λ/σμού. π.χ. StringField1
Οντότητα Task
App_Days_Edit_Allowed
Το πλήθος των ημερών για επέμβαση στα στοιχεία παρελθοντικής συνάντησης. Δηλώνοντας την τιμή 0, ο έλεγχος είναι πλήρως απενεργοποιημένος. π.χ. 7
Appointment_ContextActions_Disabled
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Appointment_creator_enable
Το σενάριο μαζικής εισαγωγής εγγραφών μέσω του πλήκτρου «Νέα» της οθόνης «Ημερολόγιο». Αφορά μόνο σε iOS πλατφόρμα. 0-Απλό ή 1-Πλήρες
Appointment_is_Container
Απόκρυψη των ενεργειών καταχώρισης νέας εργασίας ή παραστατικού από το περιβάλλον πελάτη & σημείου πώλησης. 0-Όχι ή 1-Ναι
AppointmentInternationalID
Ο διεθνής κωδικός για εργασία τύπου «Συνάντηση πωλήσεων». π.χ. ES.SAP
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την αντίστοιχη παράμετρο εταιρείας.
AppointmentStartControl
Ενεργοποίηση ελέγχου κατά την κλήση της ενέργειας «Έναρξη» επί συνάντησης. Αν υπάρχει ήδη μια ενεργή συνάντηση, κατά την έναρξη άλλης συνάντησης, εμφανίζεται ανάλογο απαγορευτικό μήνυμα. 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Απαραίτητη προϋπόθεση: η παράμετρος εταιρείας «Η συνάντηση πωλήσεων και η εργασία πωλήσεων λειτουργούν σαν όλους τους τύπους εργασίας» (AppTodoAsTask) να έχει την τιμή 1-Ναι.
AppointmentStartControlRange
Το εύρος ελέγχου κατά την κλήση της ενέργειας «Έναρξη» επί συνάντησης. Λειτουργεί σε συνδυασμό με την παράμετρο AppointmentStartControl και μόνο όταν αυτή έχει τιμή 1-Ναι. 0-Σήμερα ή 1-Οποτεδήποτε
MOB-ImplementationGuide-5 2-image261.png Απαραίτητη προϋπόθεση: η παράμετρος εταιρείας «Η συνάντηση πωλήσεων και η εργασία πωλήσεων λειτουργούν σαν όλους τους τύπους εργασίας» (AppTodoAsTask) να έχει την τιμή 1-Ναι.
AppointmentTargetFieldName
Το πεδίο της συνάντησης στο οποίο γίνεται ανάθεση του τζίρου-στόχος συνάντησης. Αφορά μόνο σε iOS πλατφόρμα. π.χ. NumericField1
AppTodoAsTask
Ενεργοποίηση της δυνατότητας διαχείρισης των εργασιών τύπου ES.SAP-Συνάντηση πωλήσεων και ES.STK-Εργασία πωλήσεων ως «γενική» εργασία. Αφορά μόνο σε iOS πλατφόρμα. 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την παράμετρο εταιρείας «Η συνάντηση πωλήσεων και η εργασία πωλήσεων λειτουργούν σαν όλους τους τύπους εργασίας».
Calendar_show_closed_tasks
Εμφάνιση των ολοκληρωμένων ή ακυρωμένων συναντήσεων στην οθόνη του Ημερολογίου. 0-Όχι ή 1-Ναι
CaseInternationalID
Ο διεθνής κωδικός για εργασία τύπου «Υπόθεση εξυπηρέτησης». π.χ. ES.CASE
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την αντίστοιχη παράμετρο εταιρείας.
ComplaintInternationalID
Ο διεθνής κωδικός για εργασία τύπου «Παράπονο». π.χ. ES.COM
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την αντίστοιχη παράμετρο εταιρείας.
DefaultMinutesAppToEnd
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω ρύθμισης του πεδίου «Συνήθης διάρκεια» του εκάστοτε τύπου εργασίας.
DefaultMinutesAppToPrepare
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω ρύθμισης του πεδίου «Χρόνος προετοιμασίας» του εκάστοτε τύπου εργασίας.
DefaultMinutesPRMToEnd
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω ρύθμισης του πεδίου «Συνήθης διάρκεια» του εκάστοτε τύπου εργασίας.
DefaultMinutesROSToEnd
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω ρύθμισης του πεδίου «Συνήθης διάρκεια» του εκάστοτε τύπου εργασίας.
DefaultMinutesSOSToEnd
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω ρύθμισης του πεδίου «Συνήθης διάρκεια» του εκάστοτε τύπου εργασίας.
DefaultMinutesTskToEnd
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω ρύθμισης του πεδίου «Συνήθης διάρκεια» του εκάστοτε τύπου εργασίας.
DefaultWinLossCode
Η προτεινόμενη, κατά την ολοκλήρωση της ευκαιρίας πώλησης, αιτία νίκης-ήττας. π.χ. ΤΙΜΗ
MOB-ImplementationGuide-5 2-image261.png Το περιεχόμενο της παραμέτρου θα πρέπει να ταυτίζεται με τον κωδικό εγγραφής του πίνακα «ESTMZOppWonLost».
EndWorkingTime
Η λήξη του ωραρίου. Χρησιμοποιείται από τις διαδικασίες μαζικής εισαγωγής συναντήσεων. π.χ. 17:00
ESTMTaskItemExtended
Ενεργοποίηση της λειτουργικότητας που αφορά στην επέκταση του πίνακα γραμμών εργασίας. 0-Όχι ή 1-Ναι
MorningZoneEndTime
Η ώρα λήξης της πρωινής ζώνης. Χρησιμοποιείται για τον προσδιορισμό της μη γκριζαρισμένης περιοχής του ημερολογίου εργασιών. π.χ. 14:00
MorningZoneStartTime
Η ώρα έναρξης της πρωινής ζώνης. Χρησιμοποιείται για τον προσδιορισμό της μη γκριζαρισμένης περιοχής του ημερολογίου εργασιών. π.χ. 09:00
OpportunityInternationalID
Ο διεθνής κωδικός για εργασία τύπου «Ευκαιρία πώλησης». π.χ. ES.OPP
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την αντίστοιχη παράμετρο εταιρείας.
Photo_PreferredQuality
Ο βαθμός συμπίεσης αρχείων τύπου εικόνα. Καθορίζει το μέγεθος του αρχείου σε bytes. π.χ. 70
Photo_PreferredSize
Οι προτεινόμενες διαστάσεις αρχείων τύπου εικόνα. Αφορά μόνο σε iOS πλατφόρμα. π.χ. 346,245
Photo_PreferredSize_Cross
Το % σμίκρυνσης του μεγέθους αρχείων τύπου εικόνα. Αφορά μόνο σε UWP & Android πλατφόρμα. π.χ. 70
POS_related_property_set_code
Ο κωδικός της ομάδας ιδιοτήτων τύπου «Συλλογή δεδομένων» που αφορά στο ερωτηματολόγιο καταγραφής της εικόνας των σημείων πώλησης. π.χ. RDC_POSStatus
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την παράμετρο εταιρείας «Κωδικός ομάδας ιδιοτήτων σχετικής με τα σημεία πώλησης (Mobile RDC)».
Questionnaire_Rate_Decimals
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Questionnaire_Rate_Maximum
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Questionnaire_Rate_Minimum
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Service_PRM_fTermServiceGID Service
Η υπηρεσία που χρησιμοποιείται κατά την καταχώριση εργασίας τύπου ES.PRM-Προληπτική συντήρηση.
Service_ROS_fTermServiceGID Service
Η υπηρεσία που χρησιμοποιείται κατά την καταχώριση εργασίας τύπου ES.ROS-Αντικατάσταση on site.
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την αντίστοιχη παράμετρο εταιρείας.
Service_show_document_created_by_SOS Service
Αυτόματη εμφάνιση του δελτίου αποστολής πωλήσεων που εκδίδεται στα πλαίσια συγκεκριμένης εργασίας εξυπηρέτησης. 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την αντίστοιχη παράμετρο εταιρείας.
Service_SOS_fTermServiceGID Service
Η υπηρεσία που χρησιμοποιείται κατά την καταχώριση εργασίας τύπου ES.SOS-Εργασία on Site.
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την αντίστοιχη παράμετρο εταιρείας.
Service_van Service
Ενεργοποίηση της λειτουργικότητας που αφορά στην παρακολούθηση van αποθήκης. 0-Όχι ή 1-Ναι
SOS_AskUpdateActualStartDateMessage
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
SOS_AskUpdateArrivalDateMessage
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
SOS_ReadOnlyControl Service
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω ρύθμισης του πεδίου «Επίπεδο απαγόρευσης επέμβασης» του εκάστοτε τύπου εργασιών.
SOSInternationalID Service
Ο διεθνής κωδικός για εργασία τύπου «Εργασία on site». π.χ. ES.SOS
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την αντίστοιχη παράμετρο εταιρείας.
StartWorkingTime
Η έναρξη του ωραρίου. Χρησιμοποιείται από τις διαδικασίες μαζικής εισαγωγής συναντήσεων. π.χ. 09:00
Task_BarcodeSaveField
Το πεδίο της γραμμής εργασίας στο οποίο γίνεται ανάθεση του barcode που χρησιμοποιήθηκε κατά την επιλογή είδους. π.χ. StringField1
Task_failure_status
Το λεκτικό που αντιστοιχεί σε κατάσταση με τιμή (3). π.χ. Αποτυχημένο
Task_in_progress_status
Το λεκτικό που αντιστοιχεί σε κατάσταση με τιμή (1). π.χ. Σε εξέλιξη
Task_MCH_GroupField
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω ρύθμισης του πεδίου «Πεδίο ομαδοποίησης» του εκάστοτε τύπου εργασίας.
Task_MCH_OrderQuantityFormula
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω χρήσης του εργαλείου Business Rules.
Task_mch_ShelfShareCategory
Το πεδίο ομαδοποίησης ειδών που χρησιμοποιείται σε εργασία τύπου «Συμμετοχή στο ράφι». 0-Οικογένεια ή 1-Ομάδα ή 2-Κατηγορία ή 3-Υποκατηγορία
Task_open_status
Το λεκτικό που αντιστοιχεί σε κατάσταση με τιμή (0). π.χ. Ανοικτό
Task_OrderBy_Definition
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω κατάλληλης ρύθμισης του section SortBy του Actions αρχείου της DocForm οθόνης.
Task_RDC_CopyLastSurvey
Ενεργοποίηση, σε ερωτηματολόγιο τύπου «Συλλογή δεδομένων», της δυνατότητας αυτόματης συμπλήρωσης των απαντήσεων με βάση την τελευταία καταχώριση. 0-Όχι ή 1-Ναι
Task_SavePerLine
Αποθήκευση της εργασίας ως «προσωρινής» (RecordState 3) με κάθε εισαγωγή νέας γραμμής. 0-Όχι ή 1-Ναι
Task_success_status
Το λεκτικό που αντιστοιχεί σε κατάσταση με τιμή (2). π.χ. Επιτυχημένο
TaskItem_IsFocusedField
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
TaskItem_PrevCountQty_Field
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
TaskItem_PrevSoldQty_Field
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
TaskItemInstDateField
Το πεδίο της γραμμής εργασίας που χρησιμοποιείται ως ημερομηνία απεγκατάστασης σε εργασία τύπου «Εγκατάσταση». π.χ. DateField1
TaskItemInstSNField
Το πεδίο της γραμμής εργασίας που χρησιμοποιείται ως αριθμός σειράς σε εργασία τύπου «Εγκατάσταση». π.χ. StringField1
ToDoInternationalID
Ο διεθνής κωδικός για εργασία τύπου «Εργασία πωλήσεων». π.χ. ES.STK
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την αντίστοιχη παράμετρο εταιρείας.
VisitPlanSelectionEnabled
Ενεργοποίηση, στη διαδικασία μαζικής δημιουργίας συναντήσεων βάσει πλάνου, της δυνατότητας επιλογής επισκέψεων. 0-Όχι ή 1-Ναι
YammerClientID
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της.
YammerConversationURL
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της.
YammerEnabled
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της.
YammerGroupID
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της.
YammerRedirectURL
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της.
YammerSecret
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της.
Οντότητα Document / Sales
ApplyInvoicePolicy
Ρύθμιση του δικαιώματος κλήσης της διαδικασίας online εφαρμογής εταιρικής πολιτικής όταν η επικοινωνία γίνεται μέσω της υπηρεσίας «δεδομένα κινητής τηλεφωνίας». 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την επιλογή «Εφαρμογή εμπορικής πολιτικής» του πεδίου «Δικαιώματα επικοινωνίας» της συσκευής.
ApprovalRequestInternationalID xVan
Ο διεθνής κωδικός για εργασία τύπου «Αίτημα υπέρβασης πιστωτικού ελέγχου».
Barcode_AddItemAfterScan
Ο τρόπος λειτουργίας της περιοχής σκαναρίσματος του barcode. 0-Τίποτα ή 1- Εισαγωγή γραμμής
Barcode_AutoQnt
Ταυτόχρονη εισαγωγή είδους & ποσότητας της περιοχής σκαναρίσματος του barcode. 0-Όχι ή 1-Ναι
Barcode_ClearAfterScan
Καθάρισμα της περιοχής σκαναρίσματος του barcode μετά από την εισαγωγή γραμμής. 0-Όχι ή 1-Ναι
Barcode_LogNotFound
Καταγραφή στο αρχείο συμβάντων των «αποτυχημένων» προσπαθειών ανεύρεσης είδους μέσω barcode. 0-Όχι ή 1-Ναι
Barcode_SearchMethod
Η σειρά με την οποία εκτελείται ο έλεγχος ταυτοποίησης ενός barcode. π.χ. 1-2

MOB-ImplementationGuide-5 2-image261.png Οι διαθέσιμες επιλογές είναι:

1-πεδίο «Κωδικός είδους» του πίνακα Είδη (ESFIItem)

2-πεδίο «Barcode» του πίνακα Είδη (ESFIItem)

3-πεδίο «Barcode» του πίνακα Πολλαπλοί κωδικοί είδους (ESMMItemCodes)

4-έλεγχος στο συνδυαστικό πίνακα ελέγχου barcode βάσει «φόρμουλας» που περιγράφεται στο αρχείο BarcodeProcessor.xml (περιοχή ESMobile\ESConfig της συσκευής). Ο ορισμός των επιμέρους ιδιοτήτων του αρχείου θα πρέπει να είναι της μορφής: Start,Length.

π.χ. για barcode που αφορά σε Είδος, Ποσότητα, Χρώμα, Μέγεθος με τις παρακάτω προδιαγραφές
Είδος 6 χαρακτήρες Η ανεύρεση επιχειρείται πρώτα με τον κωδικό και στη συνέχεια με το barcode είδους
Ποσότητα 4 χαρακτήρες
Δεκαδικά 2 χαρακτήρες
Χρώμα 1 χαρακτήρας Η ανεύρεση επιχειρείται με τον κωδικό χρώματος
Μέγεθος 1 χαρακτήρας Η ανεύρεση επιχειρείται με τον κωδικό μεγέθους

<BarcodeProcessor Assembly="Entersoft.Mobile.ESMobile"

Type="Entersoft.Mobile.ESMobile.BarcodeProcessorCommand">

<Params>

<ItemDefinition Type="System.String" Value="0,6" />

<QuantityDefinition Type="System.String" Value="6,4" />

<QuantityDecimalsDefinition Type="System.String" Value="10,2" />

<ColorDefinition Type="System.String" Value="12,1" />

<SizeDefinition Type="System.String" Value="13,1" />

<SQL Type="System.String" Value="" />

</Params>

</BarcodeProcessor>

π.χ. για barcode που αφορά σε Είδος, Ποσότητα, Παρτίδα με τις παρακάτω προδιαγραφές
Είδος 6 χαρακτήρες Η ανεύρεση επιχειρείται πρώτα με τον κωδικό και στη συνέχεια με το barcode είδους
Ποσότητα 2 χαρακτήρες
Παρτίδα 5 χαρακτήρες Η ανεύρεση επιχειρείται με τον κωδικό παρτίδας

<BarcodeProcessor Assembly="Entersoft.Mobile.ESMobile"

Type="Entersoft.Mobile.ESMobile.BarcodeProcessorCommand">

<Params>

<ItemDefinition Type="System.String" Value="0,6" />

<QuantityDefinition Type="System.String" Value="6,2" />

<QuantityDecimalsDefinition Type="System.String" Value="" />

<ColorDefinition Type="System.String" Value="" />

<SizeDefinition Type="System.String" Value="" />

<LotDefinition Type="System.String" Value="8,5" />

<SQL Type="System.String" Value="" />

</Params>

</BarcodeProcessor>

Barcode_UseCamera
Ενεργοποίηση της δυνατότητας χρήσης της κάμερας της συσκευής ως barcode scanner. 0-Όχι ή 1-Ναι
Barcode_UseKeyboard
Εμφάνιση πληκτρολογίου στην περιοχή σκαναρίσματος του barcode. 0-Όχι ή 1-Ναι
cce_duration_days xVan
Η προτεινόμενη διάρκεια ισχύος των αιτημάτων υπέρβασης πλαφόν (ημέρες). π.χ. 3
CompetitionScroller
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
CountCatalogueItems xVan
Καθορίζει το αν η ποσότητα μέτρησης στοκ αφορά σε είδους καταλόγου. Χρησιμοποιείται από τους αλγόριθμους υπολογισμού των στόχων Εμπορικού προγράμματος. Αφορά μόνο σε iOS πλατφόρμα. 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την παράμετρο εταιρείας «Η μέτρηση γίνεται σε είδη καταλόγου».
DOC_ADD_SEPARATOR_Prefix_Series
Συμμετοχή διαχωριστικού προθέματος-σειράς στον κωδικό παραστατικού. 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την παράμετρο εταιρείας «Συμμετοχή διαχωριστικού προθέματος-σειράς στον κωδικό παραστατικού».
DOC_ADD_SEPARATOR_Series_Number
Συμμετοχή διαχωριστικού σειράς-αριθμού στον κωδικό παραστατικού. 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την παράμετρο εταιρείας «Εμφάνιση διαχωριστικού σειράς-αριθμού στον κωδικό παραστατικού».
Doc_AllowEditDiscount1
Επέμβαση στο πεδίο Έκπτωση-1 της γραμμής παραστατικού. 0-Όχι ή 1-Ναι
Doc_AllowEditDiscount2
Επέμβαση στο πεδίο Έκπτωση-2 της γραμμής παραστατικού. 0-Όχι ή 1-Ναι
Doc_AllowEditDiscount3
Επέμβαση στο πεδίο Έκπτωση-3 της γραμμής παραστατικού. 0-Όχι ή 1-Ναι
Doc_AllowEditPrice
Επέμβαση στο πεδίο Τιμή της γραμμής παραστατικού. 0-Όχι ή 1-Ναι
Doc_AllowFreeProductRewards xVan
Ενεργοποίηση, κατά τη διαδικασία απόδοσης ανταμοιβών Εμπορικού προγράμματος, της δυνατότητας ενσωμάτωσης στο τιμολόγιο και ανταμοιβών τύπου «Δωρεάν είδος». Αφορά μόνο σε iOS πλατφόρμα. 0-Όχι ή 1-Ναι
Doc_AllowSaveSet_WithoutOnlineCommercialPolicy xVan
Ενεργοποίηση διαδικασίας που αφορά στον έλεγχο καταχώρισης παραστατικού που περιέχει συντιθέμενο είδος. 0-Όχι, 1-Προειδοποίηση, 2-Απαγόρευση
Doc_AllowZeroLines
Καταχώριση παραστατικού χωρίς γραμμές. 0-Όχι ή 1-Ναι
Doc_AllowZeroQty
Καταχώριση γραμμής & γραμμής ανάλυσης με μηδενική ποσότητα. 0-Όχι ή 1-Ναι
Doc_AssignDiscount_Field
Το πεδίο της γραμμής παραστατικού στο οποίο γίνεται ανάθεση έκπτωσης μέσω της ενέργειας «Μαζική ενημέρωση έκπτωσης». Disc1 ή Disc2 ή Disc3
Doc_AutoApplyCommercialPolicy
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω ρύθμισης του πεδίου «Αυτόματη εφαρμογή» online εταιρικής πολιτικής του εκάστοτε τύπου παραστατικού.
Doc_AutoApplyCommercialPolicy_SiteField
Εξειδίκευση στην αυτόματη εφαρμογή εταιρικής πολιτικής σε επίπεδο σημείου πώλησης, ορίζοντας συγκεκριμένο πεδίο της οντότητας διεύθυνση. Θα πρέπει να έχουμε φροντίσει ώστε το πεδίο αυτό να έχει την τιμή 0 ή 1. π.χ. NumericField1
MOB-ImplementationGuide-5 2-image261.png Απαραίτητη προϋπόθεση: ο τύπος παραστατικού να έχει ενεργοποιημένη την αυτόματη εφαρμογή της εταιρικής πολιτικής.
Doc_AutoOpenBarcodePanel
Αυτόματη εμφάνιση της περιοχής σκαναρίσματος του barcode. 0-Όχι ή 1-Ναι
Doc_BarcodeSaveField
Το πεδίο της γραμμής παραστατικού στο οποίο γίνεται ανάθεση του barcode που χρησιμοποιήθηκε κατά την επιλογή είδους. π.χ. StringField1
Doc_CancelPermissionRequest
Εμφάνιση, κατά την κλήση της ενέργειας ακύρωσης παραστατικού, οθόνης δήλωσης κωδικού έγκρισης από εξουσιοδοτημένο χρήστη. 0-Όχι ή 1-Ναι
Doc_CashCollectionOnCreditExcess xVan
Ενεργοποίηση της δυνατότητας, κατά την έκδοση τιμολογίου με υπέρβαση πλαφόν, για αυτόματη έκδοση απόδειξης είσπραξης μετρητοίς με το υπερβάλλον ποσό. 0-Όχι ή 1-Ναι
Doc_CollectionInCash_AutoHide xVan
Ενεργοποίηση της δυνατότητας απόκρυψης της απόδειξης είσπραξης κατά την έκδοση τιμολογίου μετρητοίς. Αφορά μόνο σε iOS πλατφόρμα. 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Απαραίτητη προϋπόθεση: η παράμετρος εταιρείας «Έκδοση Τιμολογίου μετρητοίς σε κοινό παραστατικό» (Doc_InCash_PaymentInDocument) να έχει την τιμή 0-Όχι.
Doc_ColorSizeSingle
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_CommercialPolicy_Editable
Ο βαθμός ελέγχου επεμβάσεων στα στοιχεία παραστατικού μετά την αποδοχή των αποτελεσμάτων της online εταιρικής πολιτικής. 0-Τίποτα, 1-Οτιδήποτε ή 2-Μόνο ενέργειες προσφορών
Doc_CustomCreditControl xVan
Εξειδίκευση της διαδικασίας πιστωτικού ελέγχου, ορίζοντας το όνομα εντολής τύπου GetDataCommand. π.χ. GetCheckListDocuments
Doc_DimensionalGrid_ShowBalance
Εμφάνιση, στην οθόνη δήλωσης ποσότητας ανά χρώμα-μέγεθος, της πληροφορίας που αφορά στο τρέχον υπόλοιπο ανά διάσταση. Θα πρέπει να έχει προηγηθεί ενημέρωση των υπολοίπων μέσω της επιλογής «Υπόλοιπα ειδών» του μενού «Συγχρονισμός». 0-Όχι ή 1-Ναι
Doc_DimensionalGrid_ShowDescription
Εμφάνιση, στην οθόνη δήλωσης ποσότητας ανά χρώμα-μέγεθος, της πληροφορίας που αφορά στην περιγραφή της διάστασης. 0-Όχι ή 1-Ναι
Doc_DisablePriceList_TAPC
Απενεργοποίηση της εφαρμογής τιμοκαταλόγου που βασίζεται στην τιμολογιακή κατηγορία πελάτη 0-Όχι ή 1-Ναι
Doc_ESFILineCheckList_TradeAccountSiteField xVan
Το πεδίο του πίνακα ESFILineCheckList στο οποίο, κατά την εκτέλεση της διαδικασίας online πιστωτικής πολιτικής, γίνεται η ανάθεση της διεύθυνσης πελάτη του τρέχοντος παραστατικού. π.χ. UDFString1
Doc_ESFILineCheckList_TradeTypeField xVan
Το πεδίο του πίνακα ESFILineCheckList στο οποίο, κατά την εκτέλεση της διαδικασίας online πιστωτικής πολιτικής, γίνεται η ανάθεση του τύπου συναλλαγής του τρέχοντος παραστατικού. π.χ. UDFString2
Doc_GetTradeTypeCode
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_GetTradeTypePaymentMethod
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_GiftDiscount_Field
Το πεδίο της γραμμής παραστατικού στο οποίο γίνεται ανάθεση έκπτωσης μέσω της ενέργειας «Δώρο». Disc1 ή Disc2 ή Disc3
Doc_GroupField
Το πεδίο της γραμμής παραστατικού που χρησιμοποιείται ως πεδίο ομαδοποίησης των γραμμών. π.χ. fItemFamilyCode
Doc_InCash_PaymentInDocument xVan
Ενεργοποίηση της δυνατότητας για έκδοση τιμολογίου μετρητοίς σε κοινό παραστατικό. Αφορά μόνο σε iOS πλατφόρμα. 0-Όχι ή 1-Ναι
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την παράμετρο εταιρείας «Έκδοση Τιμολογίου μετρητοίς σε κοινό παραστατικό».
Doc_InvestigateItemLimit
Το πλήθος εγγραφών που αντιστοιχεί στο πλήκτρο «Επιλογή όλων» οθόνης τύπου λίστα εισαγωγής γραμμών. π.χ. 30
Doc_InvoiceCash_PaymentMethod
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_InvoiceInCashEditable xVan
Δυνατότητα απευθείας χαρακτηρισμού από το χρήστη ενός τιμολογίου ως μετρητοίς. Ειδικά στην περίπτωση που ο πελάτης ή ο τρόπος πληρωμής του τιμολογίου έχουν μηδενικό χρόνο πίστωσης, ο χαρακτηρισμός του τιμολογίου ως μετρητοίς ενεργοποιείται αυτόματα από την εφαρμογή και απαγορεύεται η απενεργοποίηση του από το χρήστη. 0-Όχι, 1-Ναι, 2-Μόνο σε μη καθυστέρηση εξόφλησης
Doc_ItemDiscountField
Το πεδίο της γραμμής παραστατικού στο οποίο γίνεται ανάθεση της έκπτωσης είδους. Disc1 ή Disc2 ή Disc3
Doc_ItemInvForm_DefaultQty
Η προτεινόμενη ποσότητα που αντιστοιχεί στο πλήκτρο «Επιλογή όλων» οθόνης τύπου λίστα εισαγωγής ειδών. π.χ. 1
Doc_ItemInvForm_Formula
Ο τύπος υπολογισμού κολόνας της οθόνης λίστα εισαγωγής γραμμών παραστατικού η οποία υπολογίζεται δυναμικά βάσει άλλων στοιχείων της οθόνης.

π.χ. για υπολογισμό της κολόνας NetPrice βάσει των Τιμή & Εκπτώσεις είδους

[Price]-([Price]*([Disc1]+[Disc2]+[Disc3])/100)@NetPrice

όπου στο σκέλος @ δηλώνεται το όνομα της υπολογιζόμενης κολόνας

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

Doc_ItemInvForm_Show_Discs_Price
Ενεργοποίηση της εφαρμογής τιμοκαταλόγου σε οθόνη τύπου λίστα εισαγωγής γραμμών παραστατικού. 0-Όχι ή 1-Ναι
Doc_LimitForCashCollection xVan
Το όριο της αξίας τιμολογίου πώλησης για να είναι εφικτή η είσπραξη του με μετρητά. π.χ. 5000
Doc_LineItemTotal_GroupByField
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_max_refers_to_user_discount
Ο έλεγχος υπέρβασης μέγιστης έκπτωσης αφορά αποκλειστικά στο πεδίο της γραμμής παραστατικού που έχει δηλωθεί στην παράμετρο κινητού «Doc_AssignDiscount_Field». 0-Όχι ή 1-Ναι
Doc_MaxDiscCheck_Exclude_100
Απενεργοποίηση του ελέγχου υπέρβασης μέγιστης έκπτωσης βάσει όρων παραγγελιοληψίας για έκπτωση 100% (1-Ναι) ή μη απενεργοποίηση του (0-Όχι). 0-Όχι ή 1-Ναι
Doc_OrderBy_Definition
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω κατάλληλης ρύθμισης του section SortBy του Actions αρχείου της DocForm οθόνης.
Doc_OrderLinesBy
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω κατάλληλης ρύθμισης του section SortBy του Actions αρχείου της DocForm οθόνης.
Doc_Pricelist_type
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_PrintLog
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_PrintSalesDocumentCommand
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_RePrintPermissionRequest
Εμφάνιση, κατά την κλήση της ενέργειας επανεκτύπωσης παραστατικού, οθόνης δήλωσης κωδικού έγκρισης από εξουσιοδοτημένο χρήστη. 0-Όχι ή 1-Ναι
Doc_SavePerLine
Αποθήκευση του παραστατικού ως «προσωρινό» (RecordState 3) με την κάθε εισαγωγή νέας γραμμής. Αφορά σε εξειδικευμένη λειτουργικότητα και συστήνεται να χρησιμοποιείται μόνο σε εγκαταστάσεις που το πλήθος γραμμών ανά παραστατικό είναι συνήθως πολύ μεγάλο. Η λειτουργικότητα αυτή δεν ενεργοποιείται σε παραστατικό που έχει συμπληρωμένη τη σειρά παραστατικών. 0-Όχι ή 1-Ναι

MOB-ImplementationGuide-5 2-image260.png Η κατάσταση ενός παραστατικού, ως προς τη διαδικασία συγχρονισμού δεδομένων, αποτυπώνεται στο πεδίο RecordState της επικεφαλίδας παραστατικού. Οι πιθανές καταστάσεις είναι:

  • 0-Τοπικό. Παραστατικό αποθηκευμένο μόνο στην τοπική βάση. Αποστέλλεται στα κεντρικά μέσω της διαδικασίας συγχρονισμού δεδομένων.
  • 1-Κεντρικό. Παραστατικό αποθηκευμένο σε κεντρική & τοπική βάση. Εξαιρείται της διαδικασίας συγχρονισμού δεδομένων.
  • 2-Σε αναμονή. Παραστατικό αποθηκευμένο μόνο στην τοπική βάση. Εξαιρείται της διαδικασίας συγχρονισμού δεδομένων.
  • 3-Προσωρινό. Παραστατικό αποθηκευμένο μόνο στην τοπική βάση. Εξαιρείται της διαδικασίας συγχρονισμού δεδομένων.
Doc_SavePrint
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_SaveSync
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_Series_Number_Max_Length
Πλήθος ψηφίων αριθμητικού τμήματος του κωδικού παραστατικού. π.χ. 5
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την παράμετρο εταιρείας «Πλήθος ψηφίων αριθμητικού τμήματος του κωδικού παραστατικού».
Doc_SetPrintedAtFirstPrintout
Ενημέρωση του παραστατικού ως «Εκτυπωμένο» μετά την εκτύπωση του πρώτου αντίγραφου. 0-Όχι ή 1-Ναι
Doc_signature_enabled
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_SiteDiscountFormula
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_SiteDiscountPercentField
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_SiteDiscountValueField
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_TradeAccountDiscountField
Το πεδίο της γραμμής παραστατικού στο οποίο γίνεται ανάθεση της έκπτωσης πελάτη. Disc1 ή Disc2 ή Disc3
Doc_TradeTypeCode
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_UseCatalogueItems
Ενεργοποίηση της λίστας ειδών καταλόγου ως το πρώτο επίπεδο οθόνης τύπου λίστα εισαγωγής γραμμών. Αφορά μόνο σε iOS πλατφόρμα. 0-Όχι ή 1-Ναι
Doc_VatInTotals
Υπολογισμός της αξίας ΦΠΑ επί της συνολικής, ανά κατηγορία ΦΠΑ, καθαρής αξίας του παραστατικού. 0-Όχι ή 1-Ναι
DocumentLinePromotionDiscountField xVan
Το πεδίο της γραμμής παραστατικού στο οποίο γίνεται η ανάθεση, μέσω της διαδικασίας απόδοσης ανταμοιβών Εμπορικού προγράμματος, της αξίας έκπτωσης. Αφορά μόνο σε iOS πλατφόρμα. π.χ. DiscountValue3
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την παράμετρο εταιρείας «Πεδίο γραμμής παραστατικού για την αξιακή έκπτωση λόγω προγραμμάτων marketing».
eInvoicing_Offline xVan
Ο τρόπος διαχείρισης του παραστατικού σε περίπτωση αποτυχίας επικοινωνίας με την υπηρεσία myDATA. 0-Διακοπή έκδοσης, 2-Offline έκδοση
eInvoicing_OfflineInvalidDoc xVan
Ο τρόπος διαχείρισης του παραστατικού σε περίπτωση ελλιπών-εσφαλμένων, βάσει της υπηρεσίας myDATA, στοιχείων. 0-Διακοπή έκδοσης, 2-Offline έκδοση
ESFISalesDocLineItemExtended
Ενεργοποίηση της λειτουργικότητας που αφορά στην επέκταση του πίνακα γραμμών παραστατικού. 0-Όχι ή 1-Ναι
FISequentialDiscounts
Τρόπος εφαρμογής των εκπτώσεων της γραμμής παραστατικού. 0-Αθροιστικά ή 1-Διαδοχικά
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την παράμετρο εταιρείας «Είδη: Εφαρμογή εκπτώσεων γραμμών ειδών "επί του υπολοίπου" της κάθε προηγούμενης».
LTMPPOSInternationalID xVan
Ο διεθνής κωδικός για εργασία τύπου «Πρόγραμμα εμπορικής προώθησης ανά POS». Αφορά μόνο σε iOS πλατφόρμα. π.χ. ES.LTMPPOS
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την παράμετρο εταιρείας «Διεθνής κωδικός τύπου εργασίας Long term marketing program for POS».
OrderPerProductProposal
Διαγραφή, κατά την επιλογή δελτίου, των γραμμών παραστατικού που αναφέρονται σε είδος «εκτός» δελτίου. 0-Όχι ή 1-Ναι
PriceDecimals
Το πλήθος δεκαδικών για τα αριθμητικά πεδία τύπου Τιμή. Επισημαίνουμε εδώ ότι, η παράμετρος δηλώνει το πλήθος δεκαδικών που αποθηκεύονται στη βάση δεδομένων. Αφορά μόνο σε iOS πλατφόρμα. π.χ. 2
Print_2nd_copy_delay_in_sec
Ο χρόνος καθυστέρησης εκτύπωσης μεταξύ 2 αντιγράφων (δευτερόλεπτα). π.χ. 2
Print_InWords_Mode
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Print_last_copy_delay_in_sec
Ο χρόνος καθυστέρησης μετά την εκτύπωση του τελευταίου αντίγραφου (δευτερόλεπτα). π.χ. 2
Print_Mode
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Print_ZebraMacAddress
MOB-ImplementationGuide-5 2-image132.png Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
PrintDialog_ShowCancel
Ενεργοποίηση της δυνατότητας για διακοπή της διαδικασίας εκτύπωσης παραστατικού. 0-Όχι ή 1-Ναι
ValueDecimals
Πλήθος δεκαδικών για πεδία τύπου «Αξία». π.χ. 2
Οντότητα Document / Collections
Collection_Default_Note_Type
Ο προτεινόμενος, κατά την καταχώριση γραμμής αξιόγραφου, τύπος αξιόγραφου. π.χ. ΕΠ.ΕΙΣΠΡΑΚΤΕΑ
Collection_DefaultAddLineMethod
Ο προτεινόμενος τρόπος εισαγωγής γραμμής είσπραξης 0-Ad hoc ή 1-Λίστα ανεξόφλητων
Collection_DefaultColPaymentMethod
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Collection_SaveMenu
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω ρύθμισης του πεδίου «Επιλογές πλήκτρου αποθήκευση» του εκάστοτε τύπου εργασίας.
Collection_ShowPopUpSave
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
CollectionInternationalID
Ο διεθνής κωδικός για εργασία τύπου «Είσπραξη». π.χ. ES.COL
MOB-ImplementationGuide-5 2-image261.png Ρύθμιση της παραμέτρου αυτής γίνεται από την αντίστοιχη παράμετρο εταιρείας.
CollectionLimitPerCustomer
Το όριο είσπραξης μετρητών ανά ημέρα & πελάτη. π.χ. 500
ColPayCashCode
Ο κωδικός γραμμής είσπραξης τύπου «Μετρητά». π.χ. ΜΕΤΡΗΤΑ
MOB-ImplementationGuide-5 2-image261.png Το περιεχόμενο της παραμέτρου θα πρέπει να ταυτίζεται με αυτό του τρόπου πληρωμής με InternationalID = ES.PM_Cash.
ColPayCheckCode
Ο κωδικός γραμμής είσπραξης τύπου «Αξιόγραφο». π.χ. ΣΥΝΑΛΛΑΓΜΑΤΙΚΗ
MOB-ImplementationGuide-5 2-image261.png Το περιεχόμενο της παραμέτρου θα πρέπει να ταυτίζεται με αυτό του τρόπου πληρωμής με InternationalID = ES.PM_Check.
ColPayTransferCode
Ο κωδικός γραμμής είσπραξης τύπου «Έμβασμα». π.χ. ΕΜΒΑΣΜΑ
MOB-ImplementationGuide-5 2-image261.png Το περιεχόμενο της παραμέτρου θα πρέπει να ταυτίζεται με αυτό του τρόπου πληρωμής με InternationalID = ES.MoneyTransfer.
DefaultMinutesColToEnd
IconDescription automatically generated Η παράμετρος είναι παρωχημένη και συστήνεται να αποφεύγεται η χρήση της. Η λειτουργικότητα της παραμέτρου παρέχεται πλέον μέσω ρύθμισης του πεδίου «Συνήθης διάρκεια» του εκάστοτε τύπου εργασίας.
Doc_CollectionInCashProposedAmount
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή. -
Doc_CollectionItem_SetDueDateNull
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_CollectionItem_ValidateFields
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_NoCashCollection_NoSeries
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_PrintCollectionDocumentCommand
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.
Doc_SyncedCollectionReadOnly
Icon Description automatically generated Παράμετρος μη ενεργοποιημένη σε ESMobile εφαρμογή.


PDF Version