Pocketbiz Android ExVan

Από


ESPocketBiz – ExVan Pocketbiz Android ExVan-image1.png

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

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

Περιεχόμενα

Ταυτότητα

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

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

Copyright

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

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

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

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

= Ex-Van

Εισαγωγή

Περιγράφεται η παραμετροποίηση και η λειτουργικότητα του κύκλου λειτουργίας του Ex-Van.

Ένας κύκλος λειτουργίας του ex-van αποτελείται από τις παρακάτω εργασίες (με bold γράμματα οι απαραίτητες):

Συγχρονισμός

Φόρτωση (Χειροκίνητη Φόρτωση)

Πωλήσεις – επιστροφές – ακυρώσεις – Αξιακά Παραστατικά

Εκτύπωση ισοζυγίου

Εκτύπωση αξιών πώλησης

Καταμέτρηση

Εκφόρτωση (κλείσιμο ημέρας)

Εκτύπωση ΣΔΕ

Συγχρονισμός

Το module ex-van.apk αποτελεί μια διαφορετική έκδοση του sales. Το Ex-Van αναφέρεται ως όρος στην τιμολόγηση επί αυτοκινήτου και αφορά αντιπροσώπους ή υπαλλήλους εταιριών, οι οποίοι τιμολογούν απευθείας τους πελάτες της εταιρίας. Οι ex-van έχουν ένα φορτηγό (το οποίο συστημικά είναι ένας αποθηκευτικός χώρος) και το γεμίζουν με είδη που θα πουλήσουν, πραγματοποιώντας φόρτωση. Τα είδη αυτά με τις ποσότητες τους αφαιρούνται από την κεντρική αποθήκη της εταιρίας. Η έννοια παραστατικά αποθήκης αναφέρεται στα παραστατικά που κόβονται από τους exvan και διακινούν ποσότητες ειδών μεταξύ αποθηκών. Τα παραστατικά αποθήκης είναι :

  1. Το ΣΔΑ (Συγκεντρωτικό Δελτίο Αποστολής) και κόβεται από την κεντρική αποθήκη προς ένα Van που θα τιμολογεί. Αυτό γίνεται με την έναρξη ημέρας και ενημερώνει και το στοκ του φορτηγού με τα είδη και τις ποσότητες τους.
  2. Το ΣΔΕ (Συγκεντρωτικό Δελτίο Επιστροφών), που κόβεται από το φορτηγό προς την κεντρική αποθήκη και αδειάζει το στοκ του φορτηγού. Αυτό κόβεται κατά το κλείσιμο ημέρας. Δεν είναι απαραίτητο να γίνεται κλείσιμο ημέρας καθημερινά. Μπορεί να γίνεται μια φόρτωση (ΣΔΑ) τη Δευτέρα, επαναφορτώσεις την Τρίτη και την Τετάρτη και κλείσιμο ημέρας να γίνει την Πέμπτη.

Είναι πολύ σημαντικό ότι τόσο το sales όσο και το ex-van στηρίζονται στην ίδια βάση και απαιτούνται λίγες αλλαγές στην παραμετροποίηση.

Σχετικοί Πίνακες

Πίνακας Περιγραφή Article Type Sync Type
SDT Τύποι παραστατικών πώλησης DOWNLOAD PUBLIC
XDT Τύποι παραστατικών αποθήκης DOWNLOAD PUBLIC
DOS Σειρές παραστατικών DOWNLOAD PUBLIC
STS Σύνδεση τύπου παραστατικού πώλησης με σειρά και όχημα DOWNLOAD PUBLIC
XTS Σύνδεση τύπου παραστατικού αποθήκης με σειρά και όχημα DOWNLOAD PUBLIC
SEN Αρίθμηση σειρών UPLOAD PRIVATE
tblLoading Πίνακας παραστατικών φόρτωσης (ΣΔΑ) DOWNLOAD PUBLIC
tblAkirotika Δέσιμο των κανονικών τύπων παραστατικών με τους αντίστοιχους ακυρωτικούς τύπους παραστατικών DOWNLOAD PUBLIC
tblExvanLoaded Αποθηκεύει τις πραγματοποιθείσες φορτώσεις, ανά αποθήκη, ανά slmid, ανά Loadcode (κωδικός φόρτωσης) και ενημερώνεται με την ημερομηνία εκφόρτωσης (UnloadDate) και με το xidid του ΣΔΑ. UPLOAD PRIVATE
tblPDAMenu Πίνακας στον οποίο παραμετροποιούνται τα μενού του XVAN Module DOWNLOAD PUBLIC
Vehicles Πίνακας φορτηγών («δένει» τον πωλητή slmid με την αποθήκη του φορτηγού του wrhid) DOWNLOAD PUBLIC
tblVehicleStock Πίνακας στοκ φορτηγού UPLOAD PRIVATE
tblInvMaster Πίνακας header παραστατικών UPLOAD PRIVATE
tblInvDetail Πίνακας detail παραστατικών UPLOAD PRIVATE
tblWrhMaster Πίνακας header παραστατικών αποθήκης (ΣΔΑ,ΣΔΕ) UPLOAD PRIVATE
tblWrhDetail Πίνακας detail παραστατικών αποθήκης UPLOAD PRIVATE
Wrh Αποθήκες DOWNLOAD PUBLIC
tblPrintouts Εκτυπώσεις DOWNLOAD PUBLIC

Όταν έχουμε χειροκίνητη φόρτωση, το tblLoading πρέπει να είναι UPLOAD αλλά χρειάζεται προσοχή αν γίνονται insert και στον server…

Σχετικές παράμετροι πίνακα CONFIGURATION

ΠΑΡΑΜΕΤΡΟΣ ΠΕΡΙΓΡΑΦΗ ΤΙΜΕΣ DEFAULT ΥΠΟΧΡΕΩΤΙΚΟ Έως έκδοση
ALLOW_ADD_ALL Προσθέτει στο details όλα τα στοιχεία από tblVehicleStock. Δουλεύει όταν έχει τιμή 1 και μόνο για sdt με updQty = -1 1 OXI 6
AUTOLOADFROMSDE Αυτόματη δημιουργία φόρτωσης με βάση το ΣΔΕ 0,1 0 ΟΧΙ 7
CANCELINGPARAM

Αφορά το πότε σε αριθμό

ημερών θα

επιτρέπεται η ακύρωση

ενός παραστατικού βάση της

ημερομηνίας καταχώρησης

Ακέραιος ΟΧΙ 7
Default_Product_Input 0: Δεν ανήγει κάποιο input (catalogue/fast entry/pdf) κατά την έναρξη του παραστατικού

1: Ανοίγει το fast entry κατά την έναρξη του παραστατικού

0, 1 0 ΟΧΙ 6
DEFICITEXPIREDXDT XdtID ληγμένων που θα δημιουργηθεί από την απογραφή FK xdtid πίνακα XDT ΟΧΙ 7
DEFICITXDT XdtID ελλείματος που θα δημιουργηθεί από την απογραφή FK xdtid πίνακα XDT ΟΧΙ 7
EXPIREDWRH Αποθήκη Ληγμένων Ακερ 99999 ΟΧΙ 6
EXVAN ΕΝΕΡΓΟΠΟΙΗΣΗ MODULE EXVAN (κεντρικό μενού) 0,1 0 ΝΑΙ 7
EXVAN_ALLOWRELOAD Αν θα επιτρέπεται η επαναφόρτωση 0,1 ΟΧΙ 7
EXVAN_ALLOWRETURNWITHOUTLOADING Επιτρέπει να κάνεις επιστροφή αν δεν έχεις κάνει φόρτωση 0,1 6
EXVAN_LOADINGS_SORTING Σειρά εμφάνισης φορτώσεων π.χ. LoadDate DESC ΟΧΙ 7
EXVanBalanceXML Το XML για την εμφάνιση του Ισοζυγίου XML 7.1 - ΟΧΙ 7
EXVanLoadingXML Το XML για την παραμετροποίηση της οθόνης των φορτώσεων

XML

7.2

- ΝΑΙ 7
EXvanReturnsXML Το XML που καθορίζει τον τρόπο εμφάνισης του καταλόγου των ειδών σε παραστατικά επιστροφών. Αυτό γίνεται σε νεότερες εκδόσεις και μέσα από το πεδίο salesconfig XML - OXI 6
EXvanSalesXML Το XML που καθορίζει τον τρόπο εμφάνισης του καταλόγου των ειδών στα παραστατικά πωλήσεων. Αυτό γίνεται σε νεότερες εκδόσεις και μέσα από το πεδίο salesconfig XML - ΝΑΙ 6
EXVANSETS 1=Ενεργοποιεί τα σετ ειδών 0,1 0 OXI 6
EXVANSETSXML Το xml για τα Σετ ειδών

XML

7.3

- 6
EXVanViewInvoicesXML To XML που καθορίζει τη μορφή εμφάνισης των προβολών των παραστατικών. Στις προβολές φαίνονται όλα τα παραστατικά που έχει κόψει το φορτηγό σε μια ημερομηνία.

XML

7.4

- ΟΧΙ 7
EXVanViewInvoicesXMLByCusId XML όμοιο με το προηγούμενο, μόνο που αφορά τις προβολές παραστατικών μέσα στον πελάτη

XML

7.4

- ΟΧΙ 7
ExVanWrhDocumentListXML Προβολή παραστατικών αποθήκης (ΣΔΑ, ΣΔΕ)

XML

7.5

- 7
HIDEUNLOADEXPIRED 1=κρύβει το κουμπί ληγμένων πάνω δεξιά στην έκδοση ΣΔΕ 0,1 - OXI 7
isnewXvan 1=ενεργοποίηση νέου XVan 0,1 0 ΟΧΙ 7
ISSUEWRHINVOICES Αν είναι 1 τότε θα καταχωρούνται ΣΔΑ & ΣΔΕ κατά την έναρξη και το κλείσιμο ημέρας 0,1 1 ΟΧΙ 7
LOADINGXDTID xdtID παραστατικού αποθήκης για ΣΔΑ (για καταχώρηση στα tblWrhMaster & tblWrhDetail) FK xdtid πίνακα XDT OXI 7
PREFILLINVENTORY Αν θα είναι προγεμισμένη η απογραφή από το tblvehiclestock - - OXI 7
resetQtyOnLoad 1=η επαναφόρτωση αρχικοποιεί την ποσότητα φόρτωσης και μηδενίζει τις υπόλοιπες ποσότητες. 0= απλώς αθροίζει στην ποσότητα φόρτωσης. 0,1 OXI 7
SET_DOCNUM_ON_PRINT Δίνει αρίθμηση στο παραστατικό όταν πατήσει εκτύπωση (mondelez) OXI 7

sqlOffGetEXVanHeaderInfo

/sqlOnGetEXVanHeaderInfo

Το SQL που καθορίζει τα στοιχεία που θα παρουσιάζονται στο header των παραστατικών. XML - ΟΧΙ 6
sqlOffGetXVanDetailEditInfo 6
SURPLUSEXPIREDXDT XdtId πλεονάσματος ληγμένων που θα δημιουργηθεί από την απογραφή FK xdtid πίνακα XDT ΟΧΙ 7
SURPLUSXDT XdtId πλεονάσματος που θα δημιουργηθεί από την απογραφή FK xdtid πίνακα XDT ΟΧΙ 7
UNLOADINGXDTID ID παραστατικού αποθήκης για ΣΔΕ (για καταχώρηση στα tblWrhMaster & tblWrhDetail) FK xdtid πίνακα XDT OXI 7
WRHID ID κεντρικής αποθήκης ΟΧΙ 7
XVanDetailsEditXML Το xml που καθορίζει το edit των γραμμών του παραστατικού. Είναι τα στοιχεία που εμφανίζονται με το μολύβι στα details του παραστατικού. XML - ΟΧΙ 6
XVanDetailsXML XML που καθορίζει τις πληροφορίες που θα εμφανίζονται στις γραμμές του παραστατικού. XML ΟΧΙ 6
XVanHeaderXML Το XML που καθορίζει τι θα φαίνεται στο footer της οθόνης των details. (Συνολικές αξίες, Σύνολα ποσοτήτων, Σύνολα Εκπτώσεων) XML ΟΧΙ 6
XVANEXTERNALMEDIASQL Το SQL που δημιουργεί λίστα με εξωτερικά αρχεία (π.χ. Pdf) από τα οποία θα μπορεί να γίνει παραγγελιοληψία. Αντικαθιστά το $CUSID$. Το query πρέπει να φέρνει τις στήλες MediaID, FileName, IsLocalFile,URI. Προαιρετικά μπορεί να έχει και μια στήλη με τίτλο qtytype που μπορεί να πάρει τιμές 1 ή 2 (1=εισαγωγή σε ποσότητα Α, 2=εισαγωγή σε ποσότητα Β). Αν δεν οριστεί το qtytype η εισαγωγή γίνεται σε ποσότητα Α. Προαιρετικά μπορεί να έχει και μια στήλη με τίτλο Description η οποία καθορίζει το λεκτικό που θα εμφανιστεί, αν δεν έχει οριστεί μπαίνει το filename. SQLlite OXI 6
XVANINVENTORYCATALOGUEXML XML Καταλόγου απογραφής

XML

7.6

7
XVANInventoryXML XML απογραφής

XML

7.7

7
XVANMANUALLOADINGCATALOGUEXML XML χειροκίνητης φόρτωσης

XML

7.8

7
XVANMANUALLOADINGXML XML χειροκίνητης φόρτωσης XML OXI 6
INVENTORYREASONSSQL Λόγοι διαφορών απογραφής SQL ΟΧΙ 7

Tip: To configvalue δεν πρέπει να έχει τιμή null

  • Η έκδοση 7 του Xvan αναφέρεται στην ενσωμάτωση του XVAN στο new sales order plus apk.

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

Εκτέλεση εφαρμογής

Pocketbiz Android ExVan-image2.png

Για τις εργασίες X-Van sales από το κεντρικό μενού πάνω αριστερά, επιλέγουμε την επιλογή «Χ-Van»

Στην οθόνη εμφανίζεται νέο μενού με τις διαθέσιμες εργασίες exVAN.

Pocketbiz Android ExVan-image3.png

Η παραμετροποίηση του συγκεκριμένου μενού περιγράφεται παρακάτω στο tblPDAMenu.

Έναρξη ημέρας / Φόρτωση

Στην περίπτωση που το ΣΔΑ καταχωρείται στο ERP και ο XVAN το παίρνει έτοιμο, αυτή θα είναι η πρώτη κίνηση που θα κάνει ο xvan κάθε μέρα. Αλλιώς, θα πρέπει ο ίδιος να καταχωρήσει το ΣΔΑ του (βλ. Επόμενη παράγραφo) και μετά να εκτελέσει το βήμα της φόρτωσης.

Η φόρτωση ενημερώνει την αποθήκη του φορτηγού με τα είδη που έχουν καταχωρηθεί στο ΣΔΑ του xvan.

Στην οθόνη φόρτωσης εμφανίζονται τα διαθέσιμα είδη για να γεμίσει η αποθήκη του φορτηγού με προϊόντα. Τα είδη μπορεί να προκύπτουν από την έκδοση ΣΔΕ της προηγούμενης ημέρας (Αν η παράμετρος AUTOLOADFROMSDE είναι ίση με 1).

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

Αν θέλουμε να προσθέσουμε και άλλα προϊόντα από λίστα στα υπάρχοντα προϊόντα, πατάμε «Επαναφόρτωση».

Την πρώτη φόρτωση της ημέρας την κάνουμε με το «Φόρτωση» και τις υπόλοιπες με το «Επαναφόρτωση».

C:\Users\d.rebis.SIEBEN\Documents\SIEBEN\PROJECTS\MONDELEZ\Screenshot_2016-03-30-12-44-07.png

Πατώντας το πλήκτρο Pocketbiz Android ExVan-image5.png γίνεται αυτόματη καταχώρηση στην ΣΔΑ, των προϊόντων που υπάρχουν στο φορτηγό, από την προηγούμενη ΣΔΕ.

Pocketbiz Android ExVan-image6.png

Μετά την ολοκλήρωση της φόρτωσης ο πωλητής μπορεί να εκτυπώσει το ΣΔΑ και να προχωρήσει σε έκδοση παραστατικών.

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

Στην φόρτωση, αν resetQtyOnLoad=0, ελέγχει αν έχει ήδη γίνει φόρτωση. Αν ναι, απαγορεύει ή βγάζει ερώτηση, ανάλογα με την τιμή της παραμέτρου EXVAN_ALLOWRELOAD. Προσοχή, αν το επιτρέψει και εκτελέσει και τη δεύτερη φόρτωση, τότε στον tblVehicleStock θα έχουν μείνει μόνο τα στοιχεία της δεύτερης φόρτωσης.

Αν έχει άδεια αποθήκη, δεν μπορεί να κόψει παραστατικό πώλησης. Άδεια αποθήκη (δηλαδή τα πούλησε όλα) θεωρείται ότι έχει όταν, για όλες τις γραμμές του tblVehicleStock που αφορούν τρέχουσες φορτώσεις και επαναφορτώσεις, ισχυεί LoadQty – SalesQty + FreshQty =0. Ο έλεγχος γίνεται πάλι στο + του καταλόγου.

Αν δεν έχει κάνει φόρτωση δεν μπορεί να πάρει επιστροφές, εκτός αν η παράμετρος EXVAN_ALLOWRETURNWITHOUTLOADING=1. Ο έλεγχος γίνεται πάλι στο + του καταλόγου.

Χειροκίνητη Φόρτωση

Ο χρήστης έχει την δυνατότητα να δημιουργήσει φόρτωση χρησιμοποιώντας όποια από τα προϊόντα επιθυμεί. Η φόρτωση που δημιουργείται με αυτόν τον τρόπο έχει το λεκτικό “ΧΕΙΡΟΚΙΝΗΤΗ”.

Pocketbiz Android ExVan-image7.pngΕπιλέγοντας το εικονίδιο με τις 3 κάθετες τελείες δεξιά στην οθόνη, ο χρήστης μπαίνει σε Fast Entry mode όπου μπορεί γρήγορα να πληκτρολογήσει τον κωδικό είδους και την ποσότητα, πατώντας ΟΚ. Όταν ολοκληρωθεί η καταγραφή πατάμε END. Αν έχει παραμετροποιηθεί μπορεί να πληκτρολογείται επίσης ένας σύντομος κωδικός που αντιστοιχεί στον μεγάλο κανονικό κωδικό.

Pocketbiz Android ExVan-image8.png

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

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

Pocketbiz Android ExVan-image9.png

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

Pocketbiz Android ExVan-image10.png

Για να ολοκληρωθεί η διαδικασία, ο χρήστης επιλέγει το εικονίδιο της Δισκέτας.

Pocketbiz Android ExVan-image11.png

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

Εκτύπωση ΣΔΑ-ΣΔΕ

Pocketbiz Android ExVan-image12.png

Εμφανίζονται τα βασικά στοιχεία των ΣΔΑ και ΣΔΕ και η κατάσταση εκτύπωσής τους.

Επιλέγοντας κάποιο παραστατικό γίνεται η εκτύπωσή του.

Με την παράμετρο HIDEUNLOADEXPIRED του configuration, δίνεται η δυνατότητα το εικονίδιο των ληγμένων δεξιά να κρυφτεί.

Pocketbiz Android ExVan-image13.png

Ισοζύγιο

Pocketbiz Android ExVan-image14.pngΕμφανίζεται το ισοζύγιο της αποθήκης του φορτηγού, με τις προσθαφαιρέσεις των ειδών που έχουν γίνει με την απογραφή (διόρθωση ΣΔΑ)

Απογραφή Φορτηγού (Διόρθωση ΣΔΑ)

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

C:\Users\d.rebis.SIEBEN\Documents\SIEBEN\PROJECTS\MONDELEZ\New folder\Screenshot_2016-03-31-12-32-06.png

Μπορεί να προσθέσει προϊόντα ή να αφαιρέσει αντίστοιχα με κλικ στο + και -. Οι διαφορές απεικονίζονται με πράσινο και κόκκινο χρώμα πάνω στην ποσότητα δεξιά.

Pocketbiz Android ExVan-image16.pngΌταν ολοκληρωθεί η απογραφή, για να αποθηκευτεί, επιλέγουμε Pocketbiz Android ExVan-image17.png και κατόπιν επιλέγουμε τον λόγο απογραφής (προαιρετικό αν έχει σεταριστεί), δηλαδή για ποιόν λόγο υπάρχουν οι διαφορές.

Αν οι λόγοι είναι πολλοί μπορούμε να κάνουμε πολλαπλές διορθώσεις ΣΔΑ (απογραφές) με τον αντίστοιχο λόγο απογραφής.

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

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

Η απογραφή καταχωρεί παραστατικά ελλειμάτων & πλεονασμάτων που θα ενσωματωθούν, χωρίς να χρειάζεται να τυπωθεί κάποιο έγγραφο. Η σχετική παραμετροποίηση αναφέρεται στο 1.6.8 Παραμετροποίηση XVANInventoryXML (Απογραφή).

Κατά την αποθήκευση καταχωρούνται τα στοιχεία της καταμέτρησης στο πεδίο measure (καλά) και στο measureExpired (για τα ληγμένα) του πίνακα tblvehicleStock.

Oι λόγοι απογραφής (προαιρετικό π.χ.Mondelez) παραμετροποιούνται στο configuration στην παράμετρο INVENTORYREASONSSQL και με extraconfigvalue: select '1' as storevalue, 'ΔΙΑΦ ΠΑΡ/ΒΗΣ' as displayvalue union all select '2' as storevalue, 'ΚΑΤΑΣΤΡΟΦΗ' as displayvalue union all select '3' as storevalue, 'ΛΟΙΠΟΙ ΛΟΓΟΙ' as displayvalue union all select '4' as storevalue, 'ΧΕΙΡ. ΠΑΡ/ΒΗ' as displayvalue union all select '5' as storevalue, 'ΔΙΑΦ ΑΠΟ/ΦΗΣ' as displayvalue union all select '6' as storevalue, 'ΑΛΛΟΙΩΜΕΝΑ/ΛΗΓΜ.' as displayvalue

Μαζική εκτύπωση

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

Κλείσιμο ημέρας / Έκδοση ΣΔΕ

Με την επιλογή αυτή, στο κλείσιμο της ημέρας εκδίδουμε ΣΔΕ - Συγκεντρωτικό Δελτίο Επιστροφής, επιλέγοντας «Κλείσιμο». Για να γίνει αυτό πρέπει να μην υπάρχουν παραστατικά που δεν έχουν εκτυπωθεί. Τα παραστατικά που δεν έχουν εκδοθεί φαίνονται από την επιλογή «Προβολές» ή από την επιλογή εκτύπωση ΣΔΑ/ΣΔΕ. Η σχετική παραμετροποίηση αναφέρεται στο 1.6.8 Παραμετροποίηση XVANInventoryXML (Απογραφή).

Με την διαδικασία αυτή δημιουργείται η φόρτωση (ΣΔΑ) της επόμενης ημέρας, αν έχει παραμετροποιηθεί το ΣΔΕ να γίνεται αυτόματα ΣΔΑ (παράμετρος AUTOLOADFROMSDE).

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

Προβολές

Με την επιλογή αυτή μπορούμε να δούμε την λίστα με τα παραστατικά.

Pocketbiz Android ExVan-image18.png

Pocketbiz Android ExVan-image19.png

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

Βλέπε σχετική παράγραφο 1.6.4 για Παραμετροποίηση EXVanViewInvoicesXML (οθόνη προβολών παραστατικών)

Άλλες εργασίες

Pocketbiz Android ExVan-image20.pngΕνδεικτικά αναφέρονται:

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

Η παραμετροποίηση γίνεται με τις παραμέτρους που αναφέρθηκαν παραπάνω (1.3) και καταχωρούνται στον πίνακα Configuration.


Σύνδεση με ERP

Οι πληροφορίες που πρέπει να έρθουν από το ERP είναι οι πελάτες και τα είδη με όλους τους σχετικούς πίνακες (CUS, LEE, ADR, TXO, PRF, STI, STP, PST, SLM, CPM, VEHICLES).

Οι πίνακες των παραστατικών (SDT) και των σειρών (DOS) συνήθως έρχονται από το ERP ώστε να έχουμε ταύτιση στοιχείων μεταξύ PocketBiz και ERP.

Στο ex-van είναι πολύ σημαντικό τα στοιχεία των παραστατικών να είναι ακριβώς τα ίδια στο τυπωμένο από το PocketBiz χαρτί και στο ERP. Γι’ αυτό προσπαθούμε να φέρουμε όσο το δυνατόν πιο πολλά στοιχεία από το ERP.

Διαφορές από Windows Mobile

Οι βασικές διαφορές είναι:

  1. Υποστηρίζει 2 αποθήκες (κύρια και βοηθητική) στο φορτηγό. Η βοηθητική αποθήκη ορίζεται στο πεδίο vehicles.secondarywrhid
  2. Υποστηρίζει τη νέα παράμετρο resetQtyOnLoad
  3. Το στοκ κάθε αποθήκης αποθηκεύεται στον πίνακα tblVehicleStock αντί για τον tblStock
  4. Στον πίνακα tblExvanLoaded αποθηκεύονται οι πραγματοποιηθείσες φορτώσεις

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

Στη σύνδεση πρέπει να συμπεριλάβουμε και τον πίνακα tblLoading που χρησιμοποιείται μόνο στο ex-van και στον οποίο αποθηκεύονται οι φορτώσεις. Για να γεμίσουμε με στοιχεία τον πίνακα χρησιμοποιούμε τα παραστατικά φόρτωσης (ΣΔΑ – Συγκεντρωτικά Δελτία Αποστολής) που εκδίδονται από το ERP.

Ο πίνακας έχει δομή header και detail μαζί, δεν υπάρχει ξεχωριστός πίνακας για header και ξεχωριστός για detail.

Τα πεδία του πίνακα tbLoading – Πίνακας φορτώσεων είναι:

Όνομα πεδίου Τύπος Περιγραφή
LoadingID Unique identifier ID πίνακα, παίρνει αυτόματα τιμή
LoadDate Datetime Ημ/νια έκδοσης παραστατικού
LoadDescr Nvarchar(50) Περιγραφή παραστατικού, π.χ. ΣΔΑ
Stiid int Το είδος της γραμμής του παραστατικού. Foreign key στον πίνακα STI.
Wrhid int Η αποθήκη στην οποία γίνεται φόρτωση. Η αποθήκη αντιστοιχεί σε ένα όχημα, άρα ουσιαστικά καθορίζει το όχημα. Foreign key στον πίνακα WRH.
LoadQty float Ποσότητα φόρτωσης
LoadCode Nvarchar(50) Ομαδοποιεί τις γραμμές του ίδιου παραστατικού. Μπορεί να έχει οποιαδήποτε τιμή, αρκεί να είναι ίδια για τις γραμμές του ίδιου παραστατικού και μοναδική για κάθε παραστατικό. Για παράδειγμα, μπορεί να έχει την τιμή ΣΔΑ-11, όπου το 11 είναι το ID του παραστατικού
Loadudfchar1 Nvarchar(50) Ελεύθερο
LoadImported Tinyint Δεν συγχρονίζεται από το ERP Connectivity, ενημερώνεται κατά την φόρτωση. Δεν ενημερώνεται στο android και γίνεται εγγραφή στον tblExvanLoaded.
LoadLine Int Α/Α γραμμής, χρησιμοποιείται για να ταξινομηθούν τα είδη με την ίδια σειρά που έχουν και στο ΣΔΑ.
LoadGrossValue Float Αξία γραμμής χωρίς εκπτώσεις
LoadVatValue Float Αξία ΦΠΑ γραμμής
LoadCommissionValue Float Αξία προμήθειας γραμμής. Η προμήθεια αφορά το ποσοστό έκπτωσης που κάνει η εταιρεία στον αντιπρόσωπο-πωλητή.
LoadPrice Float Τιμή γραμμής
LoadImportedDate Datetime Δεν συγχρονίζεται από το ERP Connectivity, ενημερώνεται κατά την φόρτωση. Δεν ενημερώνεται στο android αλλά γίνεται εγγραφή στον TblExvanLoaded.
LastUsedSerialNumber Int Αφορά πώληση εισιτηρίων, όπου παρακολουθούμε και την αρίθμηση των ειδών που πουλάμε.
LoadQtyExpired

Τα πεδία LoadDate, LoadDescr, Stiid, Wrhid, LoadQty, LoadCode, LoadLine είναι ΥΠΟΧΡΕΩΤΙΚΑ κατά τη λειτουργία του προγράμματος και πρέπει πάντα να συμπληρώνονται.

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

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

Σε περίπτωση που δεν εκδίδονται ΣΔΑ από το ERP και πρέπει να γίνει έκδοση από το VAN, μπορούμε να γεμίσουμε τον tblLoading με την κατάσταση αποθήκης για κάθε αποθήκη-φορτηγό και ημερομηνία φόρτωσης την τρέχουσα ημερομηνία. Ακόμα και σε αυτή την περίπτωση πάντως θα πρέπει να γεμίσει ο tblLoading με δεδομένα και η διαδικασία της φόρτωσης παραμένει η ίδια για τους XVAN.

Σε περίπτωση που δεν καταχωρούνται καθόλου ενδοδιακινήσεις στο ERP, και θέλουμε να καταχωρεί ο XVAN το ΣΔΑ ώστε να κάνει τη φόρτωση, ο πίνακας tblLoading δεν πρέπει να γεμίσει καθόλου από το ERP. Όλες οι καταχωρήσεις θα γίνονται στα PDA.

Παράδειγμα εγγραφών στον πίνακα tblLoading:

Pocketbiz Android ExVan-image21.png

Γέμισμα του tblLoading από ERP & χειροκίνητα.

O tblLoading είναι συνήθως ένας download πίνακας. Γεμίζει με ΣΔΑ που έχουν κοπεί  από το ERP. Πολλές φορές όμως υπάρχει η απαίτηση ο xvan να κάνει και χειροκίνητα φορτώσεις, όταν η αποθήκη δεν είναι διαθέσιμη για να προετοιμάσει την κίνηση από το ERP, ή να μετατρέπονται αυτόματα σε φορτώσεις τα κλεισίματα ημέρας του.

Σε αυτή την περίπτωση πρέπει να δοθεί προσοχή σε δύο σημεία:

  • Ο πίνακας tblLoading πρέπει να γίνει upload στον srarticles
  • Πρέπει να προστεθεί sqlite φίλτρο στον srarticles, αν δεν υπάρχει ήδη, ώστε να καθαρίζουν οι εγγραφές που καταχωρούνται τοπικά
  • πχ. (tblloading.LoadImported=0 and tblloading.loadqty>0 and ((tblloading.LoadDescr not like 'A%' and date(tblloading.LoadDate)> date('now','-8 day')) or
  • (tblloading.LoadDescr like 'A%' and date(tblloading.LoadDate)> date('now','-30 day'))) and  tblloading.wrhid in (select wrhid from vehicles where slmid=$SLMID$ limit 1))
  • Στο ERP Connectivity θα πρέπει να δοθεί προσοχή ώστε τα πεδία που χρησιμοποιούνται ως μοναδικά κλειδιά κατά τον πλήρη συγχρονισμό με ERP να δίνουν μοναδικούς συνδυασμούς και στην περίπτωση των εγγραφών που δημιουργούνται στις φορητές συσκευές. Αλλιώς κινδυνεύουν να αλλοιωθούν εγγραφές που πρωτογενώς έχουν καταχωρηθεί στις φορητές συσκευές.

Αυτόματη Δημιουργία Φόρτωσης (AUTOLOADFROMSDE)

 

Κατά το κλείσιμο ημέρας δημιουργείται μια φόρτωση με όλο το στοκ που υπήρχε εκείνη την στιγμή καταγεγραμμένο στο φορτηγό (δλδ. Οι εγγραφές του tblVehicleStock της συσκευής οι οποίες δεν ήταν flagged ως deleted ή unloaded ).

Στην φόρτωση αυτή περιέχονται και τα ληγμένα προϊόντα.

Η φόρτωση που δημιουργείται με αυτόν τον τρόπο έχει LoadCode που έχει μορφή παρόμοια με την παρακάτω: A56-20150110-1131.

Στο παράδειγμα αυτό, τo A σημαίνει ότι η φόρτωση είναι αυτόματη, το 56 αντιστοιχεί στο slmid, το 20150110 είναι η ημερομηνία δημιουργίας και το 1131 είναι η ώρα δημιουργίας.

Για να λειτουργήσει χρειάζεται η παράμετρος AUTOLOADFROMSDE να έχει τιμή 1 (στον πίνακα configuration).

Επίσης, σε περίπτωση που δεν υπάρχει θα πρέπει να προστεθεί το πεδίο LoadQtyExpired στον πίνακα tblLoading.

Παραστατικά πώλησης - παραμετροποίηση SDT

Tα παραστατικά πώλησης παραμετροποιούνται στα βασικά πεδία του πίνακα SDT:

ΥΠΟΧΡΕΩΤΙΚΟ Πεδίο Πιθανές Τιμές Έννοια
ΝΑΙ Sdtupdqty -1, 0, 1 Το πρόσημο της κίνησης ποσοτήτων στην αποθήκη (πχ. Για ΤΔΑ -1, για πιστωτικό 1)
ΝΑΙ sdtupdvalue -1, 0, 1 Το πρόσημο της κίνησης αξιών στην αποθήκη (πχ. Για ΤΔΑ 1, για πιστωτικό -1)
ΝΑΙ printoutid FK printoutid tblPrintouts Το id της εκτύπωσης για το παραστατικό
ΝΑΙ sdtid Id πίνακα SDT
ΝΑΙ sdtprintdescr Περιγραφή που θα εκτυπωθεί
sdtdescription Περιγραφή αναλυτική
allowdelete 0,1,2,3 επιτρέπει την επεξεργασία των παραστατικών ανάλογα της τιμής
0 δεν επιτρέπεται αλλαγή ή διαγραφή στο παραστατικό, 1 επιτρέπεται μόνο η διαγραφή, όταν δεν έχει συγχρονιστεί, 2 επιτρέπεται η αλλαγή και η διαγραφή, όταν δεν έχει συγχρονιστεί, 3 επιτρέπεται μόνο η αλλαγή όταν δεν έχει εκτυπωθεί και δεν έχει συγχρονιστεί
allowfid 0,1 1=θα γίνει και καταχώρηση είσπραξης
allowmobile 0,1 1=θα κατέβει στο κινητό
allowprint 0,1 1=θα εκτυπωθεί αυτόματα με την αποθήκευση
Copies ακεραιος Πλήθος εκτυπώσεων
IssueNextSDTID FK sdtid To ID του επόμενου τύπου παραστατικού που θέλουμε να εκτυπωθεί αυτόματα
mobilestock 0,1,2 0 δεν υπάρχει αποθήκη, 1 υπάρχει αποθήκη φορτηγό (παίρνει τιμή από το πεδίο wrhid του πίνακα Vehicles), 2 υπάρχει κεντρική αποθήκη (παίρνει τιμή από την εγγραφή WRHID του πίνακα Configuration)
pstid FK PSTid Id τιμοκατάλογου ειδών
NAI sdtcode Σύντομος κωδικός παραστατικού
ΝΑΙ productsXML XML Καθορίζει τη μορφή του grid και των κριτηρίων αναζήτησης στον κατάλογο προϊόντων στο Salesorder
ΝΑΙ configuration JSON

Σε αυτό το πεδίο μπορεί να γίνει override οποιοδήποτε πεδίου του πίνακα configuration από τις τιμές που έχουν δηλωθεί (Αλλαγή παραμέτρων του configuration ανά SDT στην μορφή ενός json. Πχ. {"curid":"5", "sqlOnGetSalesOrderHeaderInfo":"test" }

H σειρά που ακούει το πρόγραμμα τις παραμέτρους είναι η εξής:

-Διαβάζει από τον configuration

-Διαβάζει από τον SDT τη στήλη configuration και κάνει override όποιες τιμές έχουν επιλεγεί

-Διαβάζει από τον SDT τη στήλη productsxml και κάνει override το xml του configuration (Στο προηγούμενο παράδειγμα το τελικό xml του καταλόγου που θα εμφανίσει το πρόγραμμα είναι της στήλης του productsxml από τον SDT)

Τιμολόγιο Δελτίο Αποστολής – printoutid: 29

sdtid 100
sdtprintdescr Τιμολόγιο Δελτίο Αποστολής
sdtdescription Τιμολόγιο Δελτίο Αποστολής
printoutid 29
allowdelete 1
allowfid 0
allowmobile 1
allowprint 1
checkstock 1
Copies 1
mobilestock 1
pstid 2
Sdtcode ΤΔΑ
sdtupdqty -1
sdtupdvalue 1

ProductsXML

Configuration

Σημείωση:

Τους κώδικες XML, sql του παρόντος εγχειριδίου προτείνεται να τους κάνετε copy paste στο Notepad++ ή στο XML Pad για ευκολότερη μελέτη και επεξεργασία.

Παραμετροποίηση άλλων παραστατικών

Pocketbiz Android ExVan-image23.png

Πηγή: Mantis

Παραστατικά Αποθήκης (ΣΔΑ-ΣΔΕ) – παραμετροποίηση XDT

Τα παραστατικά Αποθήκης, παραμετροποιούνται στα βασικά πεδία του πίνακα XDT:

ΥΠΟΧΡΕΩΤΙΚΟ Πεδίο Πιθανές Τιμές Έννοια
ΝΑΙ Wrhidfrom FK wrhid WRH Το id της αποθήκης από την οποία γίνεται η κίνηση
ΝΑΙ Wrhidto FK wrhid WRH Το id της αποθήκης προς την οποία γίνεται η κίνηση
ΝΑΙ Xdtupdqty -1, 0, 1 Το πρόσημο της κίνησης αξιών στην αποθήκη (πχ. Για ΤΔΑ -1, για πιστωτικό 1)
ΝΑΙ Allowmobile 0,1 ΠΡΕΠΕΙ να είναι 1 για να είναι διαθέσιμο το παραστατικό στα PDA
ΝΑΙ xdtid ID πίνακα XDT
ΝΑΙ xdtcode Σύντομος κωδικός
xdtdescription Περιγραφή παραστατικού
ΝΑΙ xdtprintdescription Περιγραφή που θα εκτυπωθεί
ΝΑΙ allowprint 0,1 1=θα εκτυπωθεί
ΝΑΙ printoutid FK tblprintouts ID εκτύπωσης από τον πίνακα tblPrintouts

ΣΔΑ – printoutid: 27

xdtid 1
xdtcode ΣΔΑ
xdtdescription Συγκεντρωτικό Δελτίο Αποστολής Αναχώρησης
xdtprintdescription Συγκεντρωτικό Δελτίο Αναχώρησης
xdtupdqty 1
allowmobile 1
allowprint 0
ReplVerify 255
printoutid 27

Παραμετροποίηση άλλων παραστατικών

Pocketbiz Android ExVan-image24.png

Παραμετροποίηση tblPrintouts - Εκτυπώσεις

Οι εκτυπώσεις που προκύπτουν από το module EXVAN είναι εξής:

  • Παραστατικά πώλησης: Εξαρτώνται από το printoutid του πίνακα SDT
  • Παραστατικά αποθήκης: Εξαρτώνται από το printoutid του πίνακα ΧDT
  • Ισοζύγιο: Εγγραφή με printoutdescr load_isozigio στον tblPrintouts
  • Αξιακή εκκαθάριση: Εγγραφή με printoutdescr clearance στον tblPrintouts

Για τις εκτυπώσεις, απαραίτητη είναι η εγκατάσταση του Printing.apk στο pda. Για την ορθή λειτουργία του θα πρέπει στον tblPrintοuts να έχουν οριστεί σωστά τα SQL για το Header & Detail και τα token να είναι δυναμικά (πέρα από κάποια που υπάρχουν στο εγχειρίδιο των εκτυπώσεων και είναι υπολογιστικά). Περισσότερα για τις εκτυπώσεις στο manual “Printing & Reports & Dashboard”.

Παραγγελία - 29

PrintoutId: 29

PrintoutDescr: Παραγγελία

PrintoutHeader:

PrintoutDetail:

$CODCODE$$STINAME $ #QA# $UA$#TIMI# #DIS# #NETV##vat##efk#

PrintoutFooter:

PrintoutDetailLines: 1000

PrintoutHeaderAllways: 1

PrintoutHeaderSQL:

PrintoutDetailSQL:

Δελτίο Αποστολής Τριγωνικής - 60

PrintoutId: 60

PrintoutDescr: Δελτίο Αποστολής Τριγωνικής

PrintoutHeader:

PrintoutDetail:

$CODCODE$$STINAME $#QA# $UA$#TIMI# #DIS# #NETV##vat##efk#

PrintoutFooter:

PrintoutDetailLines: 1000

PrintoutHeaderAllways: 1

PrintoutHeaderSQL:

PrintoutDetailSQL:

Κουπόνι - 31

PrintoutId: 31

PrintoutDescr: Κουπόνι

PrintoutHeader:

PrintoutDetail:

PrintoutFooter:

PrintoutDetailLines: 1000

PrintoutHeaderAllways: 1

PrintoutHeaderSQL:

PrintoutDetailSQL:

ΣΔΑ - 27

PrintoutId: 27

PrintoutDescr: ΣΔΑ

PrintoutHeader:

PrintoutDetail:

$CODCOD$$STINAME $ #QA # $UA$ #QB # $UB$

PrintoutFooter:

PrintoutDetailLines: 1000

PrintoutHeaderAllways: 1

PrintoutHeaderSQL:

PrintoutDetailSQL:

Ισοζύγιο - 61

PrintoutId: 61

PrintoutDescr: Ισοζύγιο

PrintoutHeader:

PrintoutDetail:

$CODCOD$$STINAME $ $U$#LQty ##SQty ##FQty##Rqty#

PrintoutFooter:

PrintoutDetailLines: 1000

PrintoutHeaderAllways: 1

PrintoutHeaderSQL:

PrintoutDetailSQL:

Επιπλέον παραδείγματα υλοποίησης salesconfig

Δελτίο ποσοτικής παραλαβής Καλών (επιστροφή καλών)

Δελτίο ποσοτικής παραλαβής Ακατάλληλων (επιστροφή αλλοιωμένων)

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

Στον πίνακα αυτόν δηλώνεται η δομή του μενού του ExVan. Παρακάτω εμφανίζεται ένα σενάριο με όλες τις ενδεικτικές τιμές.

MenuCode MenuLevel DescrLangNative DescrLang1 MenuAction MenuIsActive MenuItemLevel ImageIndex
ExVanStartDay 10 1. Έναρξη Ημέρας / Φόρτωση 1. Start Day ExVanStartDay 1 2 7
ExVanManualLoading 20 2. Χειρ\τη Φόρτωση 2. Manual loading ExVanManualLoading 1 2 9
ExVanUtilities 30 3. Εκτύπωση ΣΔΑ - ΣΔΕ NULL NULL 1 2 9
ExVanPrintWRHInvoices 30.10 3.1. Εκτύπωση Παρ. Αποθ. 3.1. Print Wareh. Doc. ExVanPrintWRHInvoices 1 2 9
ExVanIsozygio 40 4. Ισοζύγιο 4. Balance ExVanIsozygio 1 2 8
ExVanInventory 50 5. Απογραφή Φορτηγού NULL ExVanInventory 0 2 9
ExVanPrintInvoices 60 6. Μαζική Εκτύπωση 6. Print Documents ExVanPrintInvoices 1 2 9
ExVanEndDay 70 7. Κλείσιμο Ημέρας / Έκδοση ΣΔΕ 7. End Day ExVanEndDay 1 2 11
EXVANVIEW 80 8. Προβολές 8. Display EXVANVIEW 1 2 5
ExVanUtilities 90 9. Άλλες Εργασίες 9. Other Tasks NULL 1 2 10
ExVanCancel 90.10 9.1. Ακυρώσεις 9.2. Annulments ExVanCancel 0 2 4
ExVanIsozygio 90.20 9.2. Προηγ. Ισοζύγιο 9.2. Previous Balance ExVanPreviousIsozygio 0 3 13
ExVanChangePlates 90.30 9.3. Αλλαγή Αρ. Κυκλοφορίας 9.3. Change Plates ExVanChangePlates 0 3 12

Στο πεδίο ParentForm δηλώνεται η τιμή fExVanMenu για κάθε εγγραφή του πίνακα.

Στο πεδίο MenuActionType δηλώνεται η τιμή NAVIGATE για κάθε εγγραφή του πίνακα.

Οι τιμές στο MenuCode και MenuAction είναι δεσμευμένες και εκτελούν αυτό που περιγράφει το πεδίο DescrLangNative (στα πεδία DescrLang1 -3 δίνεται η περιγραφή σε ακόμη 3 γλώσσες).

Δηλαδή

ExVanStartDay 1. Έναρξη Ημέρας/Φόρτωση αποθ. φορτηγού (tblLoading)

ExVanManualLoading 2. Χειροκίνητη Φόρτωση αποθήκης φορτηγού

ExVanPrintWRHInvoices 3.1. Εκτύπωση Παρ. Αποθ. (ΣΔΑ – ΣΔΕ)

ExVanIsozygio 4. Ισοζύγιο αποθήκης φορτηγού

ExVanInventory 5. Απογραφή Φορτηγού (φρέσκα/ληγμένα)

ExVanPrintInvoices 6. Μαζική Εκτύπωση εκκρεμών παραστατικών για εκτύπωση

ExVanEndDay 7. Κλείσιμο Ημέρας / Έκδοση ΣΔΕ (ξεφόρτωμα)

ExVanView 8. Προβολές παραστατικών που έχουν εκδοθεί, ακυρωθεί)

ExVanCancel 9.1. Ακυρώσεις

ExVanIsozygio 9.2. Προηγ. Ισοζύγιο αποθήκης φορτηγού

ExVanChangePlates 9.3. Αλλαγή Αρ. Κυκλοφορίας πινακίδας φορτηγού

To ExVanUtilities χρησιμοποιείται για την δημιουργία υπομενού

Addkms καταχώρηση χιλιομέτρων έναρξης ημέρας

ExVanPattern custom (Μπισκότα Παπαδόπουλου)

CollectionDeposit custom (Mondelez)

Προσοχή !!! Πρέπει να σημειωθεί ότι η επιλογή ExVanPrintWRHInvoices (εκτύπωση ΣΔΑ-ΣΔΕ) λειτουργεί μόνο όταν βρίσκεται σε υπομενού και όχι στο πρώτο επίπεδο (δηλαδή όπως φαίνεται στην παραπάνω υλοποίηση)

Το MenuLevel εκτός από την σειρά εμφάνισης της εκάστοτε επιλογής δηλώνει και το επίπεδο του μενού, π.χ. το 90.20 δηλώνει ότι θα εμφανιστεί δεύτερη (9.2 Προηγ.Ισοζύγιο) στο υπομενού 90 (9.Άλλες Εργασίες).

To πεδίο MenuIsActive παίρνει τιμές 1= ενεργό (active - άρα εμφανίζεται στο μενού), 0=ανενεργό

Τα πεδία MenuItemLevel, imageindex δεν λειτουργούν στο android.

Για ευκολία, μπορείτε να χρησιμοποιήσετε το παρακάτω Insert, ολόκληρο ή μόνο συγκεκριμένες επιλογές του ex-van μενού.

tblSLMTasks

Στο tblSLMTasks μπορούν να σεταριστούν τα παραστατικά και ως Tasks με τιμές στο πεδίο ACTION='EXVANSALES' παραστατικά (καθορίζοντας και το αντίστοιχο sdtid), ACTION='EXVANVIEW' προβολή παραστατικών μόνο του συγκεκριμένου πελάτη (που εκτελείται η tasklist).

Ακυρώσεις - Ειδικές εργασίες

Για να λειτουργήσει ένα παραστατικό σαν ακυρωτικό κάποιου άλλου, θα πρέπει να έχει ορισθεί ως ακυρωτικό του. O ορισμός αυτός έχει σαν αποτέλεσμα τη δημιουργία εγγραφής στον πίνακα tblAkirotika που συσχετίζει τα κανονικά παραστατικά (NormalID) με τα ακυρωτικά τους (CancelID).

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

Δεν επιτρέπεται η ακύρωση παραστατικού αν:

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

1. Όταν ακυρώνεται παραστατικό, εννοείται ότι επηρεάζεται ανάλογα και ο tblVehicleStock.

2. Πριν από την ακύρωση γίνονται οι έλεγχοι. Δηλαδή αν είναι εκτυπωμένο, συγχρονισμένο, ακυρωμένο, ακυρωτικό, καθώς και αν έχει περάσει μια μέρα από την έκδοση του (αυτό ρυθμίζεται από την παράμετρο CANCELINGPARAM).

3. Η έκδοση παραστατικού ΣΔΑ χρησιμοποιεί τις παραμέτρους ISSUEWRHINVOICES, LOADINGXDTID. Όταν κόβεται ΣΔΑ κρατάμε το id του (xidid) στον πίνακα tblExvanLoaded, στην εγγραφή που αναφέρεται στη συγκεκριμένη φόρτωση.

4. Όταν κόβεται παραστατικό (tblInvMaster) στο πεδίο xidid αποθηκεύεται το id της φόρτωσης στην οποία ανήκει το παραστατικό (όχι επαναφόρτωσης) και το οποίο έχουμε κρατήσει στον tblExvanLoaded.

5. Ο έλεγχος του blacklist και για τον debit πελάτη, αν υπάρχει, λειτουργεί όπως ακριβώς και στο WM.

Ταμειακή εκκαθάριση (tblReports)

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

  • Τα πεδία updclearancecash και updclearancecredit του πίνακα CPM. Αν ο τρόπος πληρωμής θεωρείται μετρητοίς, τότε τo updclearancecash παίρνει τιμή 1 και το updclearancecredit 0, ενώ αν θεωρείται επί πιστώσει το ανάποδο.
  • Το πεδίο updvalue στον πίνακα SDT (τύποι παραστατικών πώλησης) με 1 αν το παραστατικό αυξάνει αξίες (πχ. Τιμολόγιο δελτίο αποστολής) με -1 αν μειώνει (πχ ακυρωτικό ΤΔΑ) και με 0 αν δεν επηρεάζει (πχ Δελτίο Αποστολής).

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

Παράδειγμα υλοποίησης η αναφορά Ταμειακή Εκκαθάριση:

Description: Ταμειακή Εκκαθάριση

Report code: Collection

ReportGridLayout:

SqlQuery:

Σημεία προσοχής

  • Αν θέλετε οι πωλητές να βλέπουν όλους τους πελάτες, τότε θα πρέπει στο ERP Connectivity το πεδίο slmid του πίνακα cus να παίρνει default τιμή null. Οι πελάτες που έχουν slmid is null μεταφέρονται σε όλες τις συσκευές.
  • Υπάρχει η δυνατότητα να εκδίδεται αυτόματα παραστατικό όταν γίνεται πώληση με συγκεκριμένο τρόπο πληρωμής (π.χ. μετρητά). Πεδίο: SDT.IssueNextSDTID Δεν υποστηρίζεται από το νέο Sales, πρέπει να γίνει μέσω Xvan module.
  • Για τις εγγραφές στους πίνακες LEE και ADR που αφορούν στον πελάτη «Νέος Πελάτης». Τα πεδία prfid, leeafm, txocode του πίνακα LEE καθώς επίσης και τα adrstreet, adrnumber, adrzipcode, adrdistrict, adrcity, adrphone1 του πίνακα ADR θα πρέπει να είναι null αν θέλουμε να συμπληρώνονται υποχρεωτικά από τον χρήστη κατά την καταχώρηση νέου πελάτη.
  • Αν δεν δημιουργούνται παρ/κα φόρτωσης και κλεισίματος στους πίνακες tblWrhMaster και tblWrhDetail, ελέγξτε ότι έχετε ορίσει τις παραμέτρους LOADINGXDTID, UNLOADINGXDTID και ISSUEWRHINVOICES.
  • Αν ένας πελάτης στον πίνακα LEE έχει leeafm null, τότε θεωρείται πως ανήκει στο group Νέων Πελατών και θα εμφανιστεί όταν ο XVAN κάνει αναζήτηση νέου πελάτη.
  • Το PocketBiz δεν επιτρέπει την καταχώρηση παραστατικού με ημερομηνία ή ώρα νωρίτερη από αυτή του τελευταίου που καταχωρήθηκε. Σε κάθε καταχώρηση παραστατικού, γίνεται έλεγχος της ημερομηνίας και ώρας καταχώρησης του τελευταίου παρ/κου και της τρέχουσας ημερομηνίας και ώρας. Αν η τρέχουσα είναι νωρίτερη από του τελευταίου παρ/κου απαγορεύεται η καταχώρηση. Σε περίπτωση που η ημερομηνία ή η ώρα προχωρήσει προς τα εμπρός (κατά λάθος ή «κατά λάθος»), γίνει έκδοση παραστατικών και μετά επανέλθει κανονικά, θα εμφανιστεί αυτό το πρόβλημα. Θα πρέπει να αλλαχτεί το πεδίο lastupdate του πίνακα SEN ή να ξαναπροχωρήσει η ώρα προς τα εμπρός.
  • Για να ενημερωθεί σωστά η αξία μετρητοίς και επί πιστώσει στο κλείσιμο ημέρας θα πρέπει να έχουν ρυθμίστεί τα πεδία updclearancecash και updclearancecredit του πίνακα CPM.
  • Τα πεδία LoadDate, LoadDescr, Stiid, Wrhid, LoadQty, LoadCode, LoadLine του πίνακα tblLoading είναι υποχρεωτικά για τη σωστή λειτουργία του προγράμματος και πρέπει πάντα να συμπληρώνονται.
  • Στο ERP connectivity θα πρέπει να ΜΗΝ συγχρονίζονται οι αποθήκες των ex-van. Επιτρέπεται να συγχρονίζονται μόνο οι κεντρικές αποθήκες. Μπορείτε να χρησιμοποιήσετε την παράμετρο SQLWhereForWRH του section StockSync ώστε να περιορίσετε τις αποθήκες που συγχρονίζονται.
  • Το κάθε είδος πρέπει να υπάρχει μόνο μια φορά στο tblloading σαν άθροισμα ποσοτήτων.

XML παραμέτρων πίνακα Configuration

Υποστηριζόμενα attributes στο xml των παραμέτρων

Για την παραμετροποίηση των παραμέτρων του πίνακα Configuration, υπάρχουν τα αντίστοιχα XML. Το κάθε XML αποτελείται από διάφορα tags, όπως header, row, sql, columns και γενικά είναι της μορφής:

<AndroidLayout> <header height="40" textsize="8"/> <row height="35" textsize="8"/>

<sql> <online query="" <offline query="…….." </sql>

<columns> <column position="1" caption="Κωδικός" datamember="codcode" width="110" visible="1" editable="0" alignment = "C"/>

<column position="2" caption="Είδος" datamember="stiname" visible="1" editable="0" width="400"/> </columns> </AndroidLayout>

Το attribute height αφορά στο ύψος της κεφαλίδας και το textsize είναι το μέγεθος της γραμματοσειράς της κεφαλίδας.

Αντίστοιχα στο tag rows το attribute height και textsize αφορά στο ύψος της γραμμής και το μέγεθος της γραμματοσειράς αντίστοιχα.

Ακολυθεί το offline query SQL.

Στη συνέχεια ξεκινάει η παραμετροποίηση για κάθε στήλη στο tag columns. Τα υποστηριζόμενα attributes που αφορούν το εκάστοτε column / row είναι τα:

· datamember: Αντιπροσωπεύει το πεδίο που θα εμφανιστεί είτε θα είναι διαθέσιμο για επεξεργασία από το select στο SQL. (ΥΠΟΧΡΕΩΤΙΚΟ)

· width: το πλάτος της στήλης

· height: το ύψος της κεφαλίδας

· alignment: καθορίζει τη διάταξη της στήλης , λαμβάνει μία από τις τιμές “C”, “L”,”R” ("CENTER", "LEFT", "RIGHT"). Αν δεν οριστεί, χρησιμοποιείται η τιμή CENTER.

· Position: H σειρά εμφάνισης

· Caption: το κείμενο που θα εμφανιστεί

· Color: το χρώμα του κειμένου σε μορφή '#FFFF00'

· Editable: αν θα μπορεί ο χρήστης να πατήσει και να επεξεργαστεί την τιμή (τιμές 0 ή 1=ναι) (ΠΡΟΑΙΡΕΤΙΚΟ)

· Visible: αν θα είναι εμφανές (1=ναι, 0=όχι εμφανές)

· Fieldtype: είναι το τι μπορεί να γράψει ο χρήστης αφού πατήσει για να επεξεργαστεί την γραμμή. (NVARCHAR, FLOAT, INT, DATE, SQL, VATNUMBER). (Αν το editable είναι 1, τότε είναι ΥΠΟΧΡΕΩΤΙΚΟ)

Παραμετροποίηση EXVanBalanceXML (εμφάνιση Ισοζυγίου)

Pocketbiz Android ExVan-image27.png

Pocketbiz Android ExVan-image28.png

Η παραμετροποίηση του συγκεκριμένου XML είναι πλήρης (παρουσιάζονται όλα τα πεδία). Εύκολα μπορεί να αφαιρεθούν για παράδειγμα οι στήλες Φόρτ(Β), Πώλ(Β), Επ/φή Φρεσκα, Επ/φή Ληγμένα, Υπ.Φρέσκα και να τροποποιηθεί ανάλογα με τις εκάστοτε ανάγκες.

Η αντίστοιχη εκτύπωση περιγράφεται στο κεφάλαιο των εκτυπώσεων.

Ανά πάσα στιγμή το διαθέσιμο στοκ είναι loadqty-salesqty+freshqty

Παραμετροποίηση ExVanLoadingXML (οθόνη φορτώσεων)

Pocketbiz Android ExVan-image29.png

Και ένα παράδειγμα απλοποιημένης έκδοσης (Κωδικός, Ποσότητα, Είδος)

<AndroidLayout> <header height="40" textsize="13"/> <row height="35" textsize="12"/> <sql> <online query="select LoadQty, LoadLine, wrhid, STI.stiid, STI.stiname, from tblloading inner join STI on STI.stiid=tblLoading.stiid where LoadCode=N'$LOADCODE$' order by LoadLine" /> <offline query="select LoadQty, LoadLine, wrhid, STI.stiid, STI.stiname, codcode from tblloading inner join STI on STI.stiid=tblLoading.stiid where LoadCode='$LOADCODE$' order by LoadLine" /> </sql> <columns> <column position="1" caption="Κωδικός" datamember="codcode" width="100" visible="1" alignment="C" /> <column position="2" caption="Ποσ" datamember="LoadQty" width="70" visible="1" alignment="R" /> <column position="3" caption="Είδος" datamember="stiname" visible="1" width="400"/> <column datamember="wrhid" visible="0" /> <column datamember="LoadLine" visible="0" /> <column datamember="stiid" visible="0" /> </columns> </AndroidLayout>

Σημειώσεις

Η φόρτωση διαβάζει από τον πίνακα tblLoading και ενημερώνει στον πίνακα tblVehicleStock τη στήλη loadqty, δηλαδή την ποσότητα φόρτωσης/απόθεμα στο φορτηγό.

Στο πάνω μέρος της οθόνης της φόρτωσης εμφανίζονται σε ένα combo όλα τα distinct loadcode από τον πίνακα tblLoading που προορίζονται για τον συγκεκριμένο πωλητή. Ο διαχωρισμός των φορτώσεων για κάθε φορτηγό γίνεται με βάση το πεδίο wrhid του tblLoading.

Ο πωλητής πρέπει να επιλέξει τη σωστή φόρτωση από το combo box και να πατήσει το κουμπί φόρτωση. Αν δεν έχει προηγηθεί κλείσιμο ημέρας την προηγούμενη ημέρα, δηλαδή αν ο tblVehicleStock έχει εγγραφές φόρτωσης, τότε θα εμφανιστεί προειδοποιητικό μήνυμα, το οποίο αναφέρει πως η αποθήκη του δεν έχει μηδενικές ποσότητες.

Όταν ένα ΣΔΑ έχει φορτωθεί, τότε σταματά να εμφανίζεται στο combo box των διαθέσιμων φορτώσεων.

Για να αποφεύγονται λάθη στην επιλογή του ΣΔΑ, καλό είναι να φέρνουμε στον tblLoading μόνο ΣΔΑ που έχουν καταχωρηθεί πρόσφατα (πχ τελευταίες 5 ημέρες. Αυτό έχει σαν αποτέλεσμα να εμφανίζονται τελικά μόνο αυτά που δεν έχει ξαναφορτώσει – δηλ. τα σημερινά – και να μην επιλέγονται άλλα παραστατικά κατά λάθος.

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

Αν η παράμετρος LOADINGXDTID έχει τιμή τότε εκδίδεται αυτόματα παραστατικό αποθήκης κατά την φόρτωση. Το παραστατικό αποθηκεύεται στους πίνακες tblWrhMaster και tblWrhDetail. Για να λειτουργήσει σωστά η έκδοση, πρέπει να έχουν παραμετροποιηθεί σωστά οι σειρές του πωλητή για τα παραστατικά αποθήκης. Συγκεκριμένα πρέπει να υπάρχει μια εγγραφή στον XTS με XDTID=η τιμή της παραμέτρου LOADINGXDTID, DOSID=μια σειρά που θα χρησιμοποιείται μόνο από αυτόν τον πωλητή και vehicleid=το όχημα του πωλητή (η παραμετροποίηση μπορεί να γίνει από το administration ή από το desktop, στις οθόνες των παραστατικών αποθήκης). Το παραστατικό που δημιουργείται περιέχει όλα τα είδη που φορτώθηκαν και ουσιαστικά συμπίπτει με το ΣΔΑ της φόρτωσης.

Η φόρτωση-επαναφόρτωση ή το κλείσιμο ημέρας έχουν συμπεριληφθεί σε ένα transaction, μαζί και με την έκδοση των ανάλογων παραστατικών αποθήκης, έτσι ώστε να μπορεί να γίνει rollback όλη η διαδικασία, αν προκύψει κάποιο πρόβλημα. Δηλαδή, αν κάνουμε φόρτωση και χτυπήσει κάτι στη δημιουργία του παραστατικού φόρτωσης (ΣΔΑ), τότε θα γίνει rollback ΚΑΙ η φόρτωση. Το ανάλογο ισχύει για επαναφόρτωση και για κλείσιμο ημέρας.

Ο τρόπος που ενημερώνονται τα πεδία RelatedXidid και ReloadedXidids του tblWRHMaster, όταν εκδίδεται παραστατικό κλεισίματος ημέρας είναι ο εξής:

  • resetQtyOnLoad=1

Το RelatedXidid περιέχει το xidid του παραστατικού της πρώτης φόρτωσης (που δεν έχει κλείσει). Το ReloadedXidids περιέχει τα xidids των παραστατικών των υπόλοιπων φορτώσεων και επαναφορτώσεων που δεν έχουν κλείσει (όλες μετά την πρώτη).

  • resetQtyOnLoad=0

Έχουμε εκτελέσει μία φόρτωση και οσεσδήποτε επαναφορτώσεις. Το RelatedXidid περιέχει το xidid του παραστατικού της φόρτωσης (που δεν έχει κλείσει). Το ReloadedXidids περιέχει τα xidids των παραστατικών των επαναφορτώσεων που δεν έχουν κλείσει.

  • resetQtyOnLoad=0 και EXVAN_ALLOWRELOAD=1

Έχουμε εκτελέσει περισσότερες από μία φορτώσεις και οσεσδήποτε επαναφορτώσεις. Το RelatedXidid περιέχει το xidid του παραστατικού της τελευταίας φόρτωσης που δεν έχει κλείσει. Η φόρτωση αυτή ήταν η μόνη που ήταν ενεργή πριν κάνουμε το κλείσιμο ημέρας. Το ReloadedXidids περιέχει τα xidids των παραστατικών των επαναφορτώσεων που δεν έχουν κλείσει και εκτελέστηκαν μετά την τελευταία φόρτωση.

  • Αν το περιεχόμενο του ReloadedXidids υπερβαίνει τους 255 χαρακτήρες, τότε θα αγνοηθούν όσες φορτώσεις (ή επαναφορτώσεις) χρειάζεται από αυτές που βρίσκονται στην αρχή του πεδίου, έτσι ώστε το περιεχόμενο να αποκτήσει το απαιτούμενο μέγεθος.
  • Για να μπορεί να γίνει η διαγραφή στους upload πίνακες (και συγκεκριμένα στον tblVehicleStock) πρέπει να έχουν το πεδίο IsDeleted. Η εφαρμογή όπου διάβαζει από τον tblVehicleStock, πρόσθετει στα κριτήρια το (tblVehicleStock.IsDeleted=0 OR tblVehicleStock.IsDeleted IS NULL). Έτσι, τις γραμμές που έχουν IsDeleted=1 θα τις αγνοεί, δηλαδή θα έχει την ίδια συμπεριφορά σαν να τις είχαμε κάνει delete από τον πίνακα. Σημείωση: το να ανέβουν εκκρεμείς (IsUnloaded=0) και σβησμένες (IsDeleted=1) εγγραφές στον server μπορεί να συμβεί μόνο με τον συνδυασμό παραμέτρων resetQtyOnLoad=0, EXVAN_ALLOWRELOAD=1. Ο τρόπος είναι ότι κάνεις 2 συνεχόμενες φορτώσεις χωρίς κλείσιμο ημέρας (για τις παραμέτρους αυτές το επιτρέπει, αφού βγάλει ερώτηση στη 2η φόρτωση). Και σε αυτήν την περίπτωση, τις εγγραφές με IsUnloaded=0 και IsDeleted=1 δεν τις βλέπει το PDA σαν εκκρεμείς.

Παραμετροποίηση EXVanViewInvoicesXML (οθόνη προβολών παραστατικών) – EXVanViewInvoicesXMLByCusId

Είναι το XML που καθορίζει τη μορφή εμφάνισης των προβολών των παραστατικών. Στις προβολές φαίνονται όλα τα παραστατικά που έχει κόψει το φορτηγό σε μια ημερομηνία. Το EXVanViewInvoicesXMLByCusId είναι XML όμοιο με το προηγούμενο, μόνο που αφορά τις προβολές παραστατικών μέσα στον πελάτη

Στο .. byCusID

Where tblInvMaster.Docekdosidate&gt;= '$LOADDATE$' AND tblInvMaster.docidakiromeno is null and CUS.cusid='$CUSID$'

Pocketbiz Android ExVan-image30.png

Pocketbiz Android ExVan-image31.png

Παραμετροποίηση ExvanWrhDocumentListXML (Προβολή ΣΔΑ, ΣΔΕ – από την επιλογή εκτύπωση παραστατικών αποθήκης)

H παράμετρος ExvanWrhDocumentListXML του Configuration προσδιορίζει δυναμικά το τι θα εμφανίζεται στη λίστα των παραστατικών αποθήκης. Η διαμόρφωση αυτής ορίζεται από xml αντίστοιχης μορφής με αυτό της λίστας των πελατών.

Ενδεικτικά η μορφή του xml πρέπει να είναι ως εξής:

Στη λίστα είναι υποχρεωτικά τα πεδία: tblWrhMaster.xidid και xdt.printoutid γιατί τα χρειάζεται το module των εκτυπώσεων για να παίξει σωστά.

Στο sql του xml τα token που μπορείτε και πρέπει να χρησιμοποιήσετε είναι το $SLMID$ και $WRHID$. Ειδικά για το  $WRHID$ η τιμή αντιστοιχεί στην αποθήκη που έχει επιλέξει ο χρήστης από μια dropdown λίστα στην ίδια οθόνη.

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

Και ένα διαφορετικό WHERE (tblWrhMaster.isPrinted & lt;& gt;1 OR tblWrhMaster.isPrinted IS NULL) AND (tblWrhMaster.wrhidto = $WRHID$ OR tblWrhMaster.wrhidfrom = $WRHID$)

Pocketbiz Android ExVan-image32.png

Παράδειγμα οθόνης αποτέλεσμα της ανωτέρω παραμετροποίησης.

Παραμετροποίηση EXVANSETSXML (Σετ ειδών)

<AndroidLayout><sql>

<online query="SELECT tblSets.setid,descr,uniid from tblSets inner join CustomSetCus on CustomSetCus.setid=tblSets.setid where CustomSetCus.cusid = $CUSID$"/>

<offline query="SELECT tblSets.setid,descr,uniid from tblSets inner join CustomSetCus on CustomSetCus.setid=tblSets.setid where CustomSetCus.cusid = $CUSID$"/>

</sql></AndroidLayout>

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

Παραμετροποίηση XVANInventoryXML (Απογραφή)

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

Αρχικά χρειάζεται να ορίσουμε στον πίνακα configuration τις εξής παραμέτρους:

ExpiredWRH: σε αυτή δηλώνεται το ID που θα χρησιμοποιηθεί ως αποθήκη ληγμένων

SurplusXDT: Το id του τύπου παραστατικού που θα χρησιμοποιείται για την έκδοση παραστατικού πλεονάσματος φρέσκων προϊόντων

DeficitXDT: Το id του τύπου παραστατικού που θα χρησιμοποιείται για την έκδοση παραστατικού ελλείματος φρέσκων προϊόντων

SurplusExpiredXDT: Το id του τύπου παραστατικού που θα χρησιμοποιείται για την έκδοση παραστατικού πλεονάσματος ληγμένων προϊόντων

DeficitExpiredXDT: Το id του τύπου παραστατικού που θα χρησιμοποιείται για την έκδοση παραστατικού ελλείματος ληγμένων προϊόντων.

Ο τύπος παραστατικού ορίζεται στον πίνακα XDT και μας δίνει διάφορες πληροφορίες για το παραστατικό που θα εκδοθεί (π.χ. printoutID)

Η οθόνη αυτή ενεργοποιείται προσθέτοντας μια εγγραφή στον πίνακα tblPDAMenu, με την τιμή exvaninventory στο πεδίο MenuAction.

Για την μορφοποίηση της οθόνης μπορούμε να χρησιμοποιήσουμε ένα xml με μορφή παρόμοια με την παρακάτω:

<AndroidLayout>

<select offline= "SELECT * FROM STI LEFT OUTER JOIN tblVehicleStock ON STI.stiid = tblVehicleStock.stiid AND tblVehicleStock.IsUnloaded=0 AND (tblVehicleStock.IsDeleted=0 OR tblVehicleStock.IsDeleted IS NULL)" />

<rows> <row showExpiredColumn="true/false">

<column text="$stiname$" />

<column text="$inventoryQty$"/>

<column text="$inventoryExpiredQty$"/>

</row> </rows>

<layout width="0"/>

</AndroidLayout>

To attribute "showExpiredColumn" καθορίζει αν θα φαίνεται η στήλη των ληγμένων ποσοτήτων στην οθόνη. Παίρνει τιμές "true"/"false" και αν δεν δηλωθεί, θεωρείται FALSE (η στήλη ληγμένων ΔΕΝ φαίνεται)

Σύμφωνα με το παραπάνω xml, σε κάθε γραμμή της λίστας θα εμφανίζεται στην πρώτη στήλη το όνομα του προϊόντος (token $stiname$), στην δεύτερη στήλη η ποσότητα των φρέσκων που απογράφουμε (token $inventoryQty$) και στην τρίτη στήλη η ποσότητα των ληγμένων που απογράφουμε (token $inventoryExpiredQty$).

Για την ώρα υποστηρίζεται μόνο μια γραμμή (σε αντίθεση με το xml των details). Τα tokens που υποστηρίζονται είναι τα ίδια με αυτά που υποστηρίζονται στο xml των details.

To xml που χρησιμοποιήθηκε ως παράδειγμα είναι το default xml που χρησιμοποιείται σε περίπτωση που δεν οριστεί κάποιο στον πίνακα configuration. Για να ορίσουμε το xml για την απογραφή πρέπει να δημιουργήσηομε μια εγγραφή στον πίνακα configuration με configcode XVANINVENTORYXML.

Παράδειγμα της οποίας ακολουθεί:

<AndroidLayout>

<select offline= "SELECT tblvehiclestock.stiid as stiid, sti.codcode as codcode, sti.stiname as stiname, sum(loadqty) as loadqty, sum(salesqty) as salesqty, sum(returnqty) as returnqty, sum(freshqty) as freshqty, sum(reservedqty) as reservedqty, sum(expiredqty) as expiredqty, sum(measure) as measure, sum(measureexpired) as measureexpired FROM STI inner JOIN tblVehicleStock ON STI.stiid = tblVehicleStock.stiid AND tblVehicleStock.IsUnloaded=0 AND (tblVehicleStock.IsDeleted=0 OR tblVehicleStock.IsDeleted IS NULL) group by tblvehiclestock.stiid, sti.stiname, sti.codcode order by sti.codcode " />

<rows> <row>

<column text="$codcode$ - $stiname$" />

<column text="$inventoryQty$"/>

<column text="$inventoryExpiredQty$"/>

</row>

</rows>

<layout width="0"/>

</AndroidLayout>

Pocketbiz Android ExVan-image33.png

Παραμετροποίηση XVanManualLoadingCatalogueXML (χειροκίνητη φόρτωση)

Ο χρήστης έχει την δυνατότητα να δημιουργήσει φόρτωση (εγγραφές στον tblLoading) χρησιμοποιώντας όποια από τα προϊόντα επιθυμεί (τα προϊόντα είναι εγγραφές στον πίνακα STI).

Η φόρτωση που δημιουργείται με αυτόν τον τρόπο έχει στο πεδίο LoadDescription του tblLoading το λεκτικό “ΧΕΙΡΟΚΙΝΗΤΗ”.

Επίσης οι φορτώσεις που δημιουργούνται με αυτόν τον τρόπο έχουν LoadCode σε παρόμοια μορφή: X56-20150110-1131 όπου το Χ υποδηλώνει ότι η φόρτωση είναι χειροκίνητη, το 56 αντιστοιχεί στο SLMid, το 20150110 είναι η ημερομηνία δημιουργίας και το 1131 είναι η ώρα δημιουργίας.

Ένα δείγμα XML για την συγκεκριμένη παράμετρο:

Pocketbiz Android ExVan-image34.png


PDF Version