Τιμολογιακές πολιτικές Groups Android
ESPocketBiz – Τιμολογιακή πολιτική με Groups
Entersoft Business Suite® | Entersoft CRM® | Entersoft Mobile Suite®
Τεχνικό εγχειρίδιο
Ταυτότητα
Έκδοση κειμένου 2.0
Τελ. ενημέρωση Ιούνιος 2021
Copyright
© Copyright 2011 Entersoft A.E. Με την επιφύλαξη όλων των νόμιμων δικαιωμάτων.
Δεν επιτρέπεται η αναδημοσίευση ή μετάδοση με οποιαδήποτε μορφή και για οποιοδήποτε λόγο μέρους ή όλου του παρόντος εγχειριδίου, χωρίς τη ρητή άδεια της Entersoft Α.Ε.
Όσον αφορά το περιεχόμενο του παρόντος…
- Μπορεί να μεταβληθεί οποιαδήποτε στιγμή.
- Εξυπηρετεί αποκλειστικά πληροφοριακούς σκοπούς.
- Δεν παρέχεται εγγύηση για την ύπαρξη τυχόν λαθών ή για τη λανθασμένη χρήση ή για μη επιθυμητά αποτελέσματα από τη χρήση των προτεινόμενων στο παρόν διαδικασιών.
= How To Τιμολογιακή πολιτική με Groups
Αναζήτηση υποψήφιων εκπτώσεων - tblDiscountGroupTypes
Για κάθε γραμμή του παραστατικού μπορεί να υπάρχουν μια ή περισσότερες εκπτώσεις που θα θέλαμε να εφαρμοστούν. Για να βρούμε ποιες είναι αυτές πρέπει να ορίσουμε κάποια groups στον πίνακα tblDiscountGroupTypes. Κάθε group ορίζει κάποια πεδία (1-4) στη βάση, μαζί με τους πίνακες τους. Π.χ. έστω ότι σε μια εγγραφή έχουμε JoinTable1=”CUS”, JoinField1=”cusid”, JoinTable2=”STI”, JoinField2=”stiid”. Αυτό σημαίνει ότι θα συγκρίνουμε το πεδίο CUS.cusid του παραστατικού με το ανάλογο του tblDiscounts και το πεδίο STI.stiid της γραμμής του παραστατικού με το ανάλογο του tblDiscounts.
Τα πεδία που αναφέρουμε μπορεί να ανήκουν στους πίνακες: CUS, LEE, CPM, SDT και STI.
Συγκεκριμένα για τον sti τα πεδία που μπορούν να μπουν είναι τα:
DiscGroupID, stidiscgroupid, stiid, udfchar1, udfchar2, udfint1,udfchar3,udfchar4,udfchar5, udffloat1,udfmon1,codcode
Ένα στοιχείο ακόμα που μας ενδιαφέρει στον πίνακα αυτό είναι το πεδίο Priority. Όσο μικρότερη τιμή έχει, τόσο μεγαλύτερη προτεραιότητα έχει το group ανάλογα με άλλα groups που έχουν οριστεί (δηλαδή το μέγιστο priority είναι όταν έχει 1).
Αναζήτηση υποψήφιων εκπτώσεων – tblDiscounts
Κάθε εγγραφή του tblDiscounts αναφέρεται σε μια εγγραφή του tblDiscountGroupTypes, με το πεδίο DiscountGroupTypeID. Ανάλογα με το ποια πεδία έχουν οριστεί για το group στον tblDiscountGroupTypes, στον tblDiscounts δίνονται οι τιμές που πρέπει να έχουν αυτά τα πεδία για να εφαρμοστεί η έκπτωση της γραμμής αυτής. Στο παραπάνω παράδειγμα, η εγγραφή του tblDiscounts έστω ότι έχει στο πεδίο DiscountGroupJoinField1Value=123 και στο πεδίο DiscountGroupJoinField2Value=5513. Αυτό σημαίνει ότι η έκπτωση της γραμμής αυτής του tblDiscounts θα εφαρμοστεί αν το πεδίο CUS.cusid=123 και το STI.stiid=5513.
Ένα ακόμα κριτήριο που πρέπει να πληρείται για εφαρμοστεί η έκπτωση της γραμμής αυτής είναι η ποσότητα της γραμμής αυτής να είναι μεγαλύτερη ή ίση με την τιμή του πεδίου FromQty. Δηλαδή αν FromQty=5, αν η ποσότητα της γραμμής είναι μικρότερη του 5 η έκπτωση δεν θα εφαρμοστεί, ακόμα και αν πληρούνται τα κριτήρια των πεδίων. Αν το πεδίο FromQty είναι κενό, η έκπτωση εφαρμόζεται ανεξάρτητα από την ποσότητα.
Διάφοροι τρόποι φιλτραρίσματος – tblDiscounts.DiscountKind
Αν το πεδίο tblDiscounts.DiscountKind=1, τότε το πεδίο FromQty συγκρίνεται με την ποσότητα στη γραμμή του παραστατικού. Αυτή είναι και η DEFAULT λειτουργία.
Αν το πεδίο tblDiscounts.DiscountKind=2, τότε το πεδίο FromQty συγκρίνεται με την ΣΥΝΟΛΙΚΗ ποσότητα του ΠΑΡΑΣΤΑΤΙΚΟΥ.
Αν το πεδίο tblDiscounts.DiscountKind=3, τότε το πεδίο FromQty συγκρίνεται με την ΣΥΝΟΛΙΚΗ ποσότητα που υπάρχει στο παραστατικό και αφορά το συγκεκριμένο GROUP ειδών. Για παράδειγμα αν έχουμε ορίσει σαν κριτήρια της γραμμής τα CUS.DiscGroupID=1 και το STI.DiscGroupID=2, αυτό σημαίνει ότι, αν έχουμε στο παραστατικό 2 γραμμές με STI.DiscGroupID=2, το πεδίο FromQty θα συγκριθεί με το άθροισμα των ποσοτήτων των 2 αυτών γραμμών. Αν έχουμε και άλλες 4 γραμμές στο παραστατικό με διαφορετικό STI.DiscGroupID, οι γραμμές αυτές θα αγνοηθούν στη σύγκριση.
Άλλα στοιχεία του tblDiscounts – Ποσοστά ή αξίες
Μια γραμμή του tblDiscounts μπορεί να ρίξει ποσοστό μιας ή δυο εκπτώσεων ή αξία μιας ή δυο εκπτώσεων. Θα ρίξει ποσοστό αν έχουν τιμή τα πεδία DiscPerc1, DiscPerc2. Θα ρίξει έκπτωση αν έχουν τιμή τα πεδία DiscValue1, DiscValue2. Επίσης αν έχει τιμή το πεδίο Price, τότε η τιμή της γραμμής θα αντικατασταθεί από την τιμή στο tblDiscounts.
Άλλα στοιχεία του tblDiscounts – αντικατάσταση ή προσθήκη
Τα πεδία Disc1Way, Disc2Way έχουν την εξής λειτουργικότητα. Αν είναι null ή έχουν την τιμή 0, τότε κάθε νέα έκπτωση που θα πέφτει στη γραμμή του παραστατικού θα αντικαθιστά την προηγούμενη. Αυτό θα έχει σαν αποτέλεσμα ότι η έκπτωση που θα παραμείνει τελικά θα είναι αυτή που θα πέσει τελευταία, η οποία τελικά θα είναι αυτή που θα έχει οριστεί να έχει την μεγαλύτερη προτεραιότητα. Αν τα πεδία έχουν την τιμή 1, κάθε νέα έκπτωση που θα πέφτει στη γραμμή θα προστίθεται στην προηγούμενη.