Εδώ γράφουμε το σύνδεσμο του e-shop που ενημερώνει τη διαθεσιμότητα. Η μεταβλητή #PID χρησιμοποιείται για το κωδικό του είδους και η μεταβλητή #STO τη διαθεσιμότητα.
π.χ. https://www.sbzsystems.com/stockupdate.php?productid=#PID&quantity=#STO
Αν δεν ορίσουμε μεταβλητή τότε οι διαθεσιμότητες στέλνονται με τη μέθοδο POST, όλες μαζί στο αρχείο κειμένου “web_availabilities.tmp” με τη παρακάτω μορφή:
π.χ. https://www.sbzsystems.com/stockupdate.php?action=upload_stock
1 |
product code|quantity|barcodes |
Όπου:
product code: ο κωδικός του είδους
quantity: η διαθεσιμότητα
barcodes: τα barcode του είδους χωρισμένα με κόμμα
1 2 3 |
C31781|7 C28743|2 C34485|6 |
Παράδειγμα λήψης αρχείου από EMDI μέσω PHP:
1 2 3 4 5 6 7 8 9 10 |
//UPLOAD FILE $uploadfile = $tmp_path . '/web_availabilities.tmp'; move_uploaded_file($_FILES['document']['tmp_name'], $uploadfile); echo 'ok'."\n"; if (file_exists($uploadfile)) { $all = file_get_contents($uploadfile); ... } |
Συγχρονισμός προσαρμοσμένου πεδίου σε διαθεσιμότητα
Επίσης το άθροισμα της διαθεσιμότητας των πεδίων που έχουμε ορίσει πηγαίνουν στο προσαρμοσμένο πεδίο με κατάληξη “t”.
Σημαντικά
- Αν η απάντηση από το σύνδεσμο είναι κενή σελίδα, θεωρείται ότι η διαδικασία απέτυχε.
- Αν δεν ορισθούν προσαρμοσμένα πεδία τότε στέλνεται η κανονική διαθεσιμότητα.
- Ενημερώνεται το είδος μόνο αν έχει ενημερωθεί με κάποιο τρόπο:
- έχει γίνει αποθήκευση στο είδος
- έχει καταχωρηθεί παραστατικό με κίνηση (με “Καμμία” κίνηση δεν επηρεάζεται το είδος οπότε και δεν αποστέλλεται πληροφορία)
- Αν δεν ανοίγει το παράθυρο της Επιλογής στο συγχρονισμό είναι γιατί δεν έχουμε ορίσει το ζεύγος των θέσεων μεταξύ των οποίων θα γίνει ο συγχρονισμός.Πηγαίνω Από το κουμπί χρήσεις/Εταιρείες και ρυθμίζω το tab απομακρυσμένη βάση.
- Η “Τρέχουσα βάση” θα πρέπει να είναι πάντα η κύρια βάση μας (συνήθως η main) ενώ η “Απομακρυσμένη βάση” αυτή στην οποία θα στέλνωνται τα δεδομένα (συνήθως η null).
- Αν οι διαθεσιμότητες δεν ανεβαίνουν στο site τότε έλεγξε αν δημιουργείται στο φάκελο της EMDI, personal\user το αρχείο “web_availabilities.tmp”. Αν δεν υπάρχει τότε μπορείς να ορίσεις μια προηγούμενη ημερομηνία και να συγχρονίσεις πάλι: