Κάθε φορά που επιλέγεται ένας πελάτης υπάρχει δυνατότητα να εκτελείται κώδικας SQL.
Αυτός ορίζεται στις ρυθμίσεις->Αγορές/Πωλήσεις->Παραστατικά->Εκτέλεση SQL
1 2 3 4 5 |
-- client -- sql -- client-eof -- |
Αφού επιλεχθεί από το χρήστη πελάτης, οι μεταβλητές που στέλνονται από την EMDI προς το κώδικα SQL:
:cd | Αριθμός γραμμής τύπου παραστατικού “eidhpar”.”Aa” |
:rd | Σχετικό παραστατικό “eidhpar”.”parallhlo” |
:pd | Γονικό παραστατικό “eidhpar”.”Koino” |
:cl | Αριθμός γραμμής πελάτη “pelates”.”Aa” ή “pvlhseis”.”Kvdikospelath” |
Η EMDI δέχεται το περιεχόμενο από τις μεταβλητές και το ορίζει αντίστοιχα:
im_documentseries | Σειρά παραστατικού “pvlhseis”.”Seira” |
im_related | Σχετικά παραστατικά “pvlhseis”.”Sxetika” |
im_notes | Σημειώσεις “pvlhseis”.”Sxolio” |
im_shippingaddress | Τόπος αποστολής “pvlhseis”.”Apostolh” |
im_loadingplace | Τόπος φόρτωσης “pvlhseis”.”Fortvsh” |
im_sign | Υπογραφή “pvlhseis”.”ypografh” |
im_devicessentlist | Λίστα συσκευών που έχουν αποσταλεί τα παραστατικά “pvlhseis”.”devicessentlist” |
im_shipping | Τρόπος αποστολής “pvlhseis”.”Tropos” |
im_handling | Σκοπός διακίνησης “pvlhseis”.”Skopos” |
im_custom | Πεδίο που χρησιμοποιείται για τις επιβραβεύσεις (Αν στο πέμπτο μέρος του περιέχεται ο κωδικός είδους που πατιέται στο εικονικό πληκτρολόγιο τότε αγνοείται) “pvlhseis”.”custom”| |
im_cust1 | Πεδίο γενικής χρήσης 1 |
im_cust2 | Πεδίο γενικής χρήσης 2 |
im_cust3 | Πεδίο γενικής χρήσης 3 |
im_cust4 | Πεδίο γενικής χρήσης 4 |
im_cust5 | Πεδίο γενικής χρήσης 5 |
im_message | Άνοιγμα ενημερωτικού μήνυματος |
im_messagw | Άνοιγμα προειδοποιητικού μήνυματος |
Ένα απλό παράδειγμα το οποίο φέρνει τα προσαρμοσμένα πεδία από τον πελάτη στο παραστατικό .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
-- client -- select "pelates"."custom2" im_cust1, "pelates"."custom3" im_cust2, "pelates"."custom4" im_cust3, "pelates"."custom5" im_cust4 from "pelates" where "pelates"."Aa"=:cl -- client-eof -- |
Άλλο ένα παράδειγμα που βγάζει ενημερωτικό μήνυμα όταν ο επιλεγμένος πελάτης ανήκει σε μια συγκεκριμένη κατηγορία
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
-- client -- select 'ΕΙΝΑΙ BLACKLISTED' im_message from "pelates" where "pelates"."Aa" = :cl and "pelates"."Eidosp"=5 -- client-eof -- |
Το παρακάτω παράδειγμα βάζει το σύνολο των πόντων loyalties στο σχόλιο των πωλήσεων και ταυτόχρονα το συγκρίνει με το πρόσθετο πεδίο είδους “points”.
Αν είναι μεγαλύτερο από το πρόσθετο πεδίο τότε εμφανίζεται μήνυμα.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
select -- SEND MESSAGE coalesce((case when cast(case when position('points:', "apouhkh"."Shmeivseis") >0 then substring("apouhkh"."Shmeivseis" from position('points:', "apouhkh"."Shmeivseis") + char_length('points:') for position(ascii_char(13), substring("apouhkh"."Shmeivseis" from position('points:', "apouhkh"."Shmeivseis"))) - char_length('points:')-1) else null end as float) < cast((select sum( "Posothta") from "pelates", "pvlhseis", "grammes", "eidhpar" where "pelates"."Aa" = "pvlhseis"."Kvdikospelath" and "pelates"."active"=1 and "pvlhseis"."Aa" = "grammes"."Aapar" and "pvlhseis"."Parastatiko" = "eidhpar"."Aa" and "pvlhseis"."Parastatiko"=57 and "pvlhseis"."Kvdikospelath"=:cl group by "pelates"."Kvdikos", "pelates"."Onoma", "pelates"."Epiueto", "pelates"."Epvnymia" ,"pelates"."Aa" ) as float) then 'Ο ΠΕΛΑΤΗΣ ΔΙΚΑΙΟΥΤΑΙ ΔΩΡΟ'|| ascii_char(13) end),'') || 'ΠΟΝΤΟΙ:'|| round(cast((select sum( "Posothta") from "pelates", "pvlhseis", "grammes", "eidhpar" where "pelates"."Aa" = "pvlhseis"."Kvdikospelath" and "pelates"."active"=1 and "pvlhseis"."Aa" = "grammes"."Aapar" and "pvlhseis"."Parastatiko" = "eidhpar"."Aa" and "pvlhseis"."Parastatiko"=57 and "pvlhseis"."Kvdikospelath"=:cl group by "pelates"."Kvdikos", "pelates"."Onoma", "pelates"."Epiueto", "pelates"."Epvnymia" ,"pelates"."Aa") as float)) "im_notes", -- SEND PRODUCT ID coalesce((case when cast(case when position('points:', "apouhkh"."Shmeivseis") >0 then substring("apouhkh"."Shmeivseis" from position('points:', "apouhkh"."Shmeivseis") + char_length('points:') for position(ascii_char(13), substring("apouhkh"."Shmeivseis" from position('points:', "apouhkh"."Shmeivseis"))) - char_length('points:')-1) else null end as float) < cast((select sum( "Posothta") from "pelates", "pvlhseis", "grammes", "eidhpar" where "pelates"."Aa" = "pvlhseis"."Kvdikospelath" and "pelates"."active"=1 and "pvlhseis"."Aa" = "grammes"."Aapar" and "pvlhseis"."Parastatiko" = "eidhpar"."Aa" and "pvlhseis"."Parastatiko"=57 and "pvlhseis"."Kvdikospelath"=:cl group by "pelates"."Kvdikos", "pelates"."Onoma", "pelates"."Epiueto", "pelates"."Epvnymia" ,"pelates"."Aa" ) as float) then '' else '||||LOYPAY,DI2621' end),'') "im_custom" from "apouhkh" where "apouhkh"."Kvdikos"='LOYPAY' |