Skip to main content
Πως μπορούμε να βοηθήσουμε;

Ψάξτε απαντήσεις ή περιηγηθείτε στην knowledge base.

Μεταφορά Δεδομένων από το RetailStudio στο ERP

Είστε εδώ:
< Όλα τα άρθρα

Μεταφορά Δεδομένων από το Retail Studio στο ERP

Γενική περιγραφή

RS to ERP είναι ο μηχανισμός για την δημιουργία πινάκων και ενημέρωσή τους σε βάση δεδομένων που καθορίζεται παραμετρικά από την επιλογή “Γενικές παράμετροι MBS” (πίνακας MBS_GenSetup).

Ο μηχανισμός αυτός καλύπτει την εξαγωγή για τις παρακάτω οντότητες:

  • Αρχείο πελατών.
  • Κινήσεις παραστατικών πωλήσεων – αγορών – διακινήσεων αποθήκης.
  • Κινήσεις χρηματοοικονομικών παραστατικών πελατών – προμηθευτών.

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

Στο RetailStudio,  πρέπει να θέσoυμε κάποιες παραμέτρους.

1. Στην επιλογή Διαχείριση \ Διασυνδέσεις \ Γενικές Παράμετροι MBS εισάγετε μια εγγραφή όπου:

a. Στην στήλη Όνομα Βάσης Δεδομένων  δίνουμε το όνομα της βάσης του ERP. Π.χ. LDERP.clroot.’. Αν η βάση βρίσκεται σε διαφορετικό server, τότε κάνουμε register τον server, και θέτουμε και αυτό το όνομα στην παραπάνω τιμή. Π.χ. ServerName.LDERP.clroot.’ Προσοχή στην τελεία μετά το clroot.

b. Την στήλη Όνομα Εταιρείας MBS την αφήνουμε κενή.

c. Στην στήλη Εταιρεία RS  θέτουμε τον κωδικό της εταιρείας που θέλουμε να ενημερώσουμε στο RetailStudio, π.χ. 00.

d. Στην στήλη Ημέρες ενημέρωσης RSToMBS  θέτουμε τις ημέρες που θέλουμε το interface να κοιτάει προς τα πίσω ώστε να μην εξετάζει όλα τα παραστατικά και τις κινήσεις που θα ενημερώσει, αλλά μόνο για τις τελευταίες ημέρες. Την πρώτη φορά που θα το τρέξουμε πρέπει να βάλουμε ένα μεγάλο νούμερο π.χ. 10000 για να είμαστε σίγουροι ότι θα επιλεγούν όλες οι εγγραφές. Στην συνέχεια, και ανάλογα με την περίπτωση, μπορούμε να το κατεβάσουμε στις 3 ή στις 10 ημέρες.

e. Την στήλη Καθεστώς ΦΠΑ την αφήνουμε κενή.

f. Στην στήλη Ονομασία ERP  δίνουμε συγκεκριμένη τιμή, ανάλογα με το ERP , σύμφωνα με τον παρακάτω πίνακα.

* Στην περίπτωση όπου το ERP δεν είναι κάποιο από τα παραπάνω, στο πεδίο Ονομασία ERP βάλτε κάποιο χαρακτηριστικό όνομα του ERP με λατινικούς χαρακτήρες χωρίς κενά. Η εφαρμογή θα φτιάξει πίνακες που χα ξεκινούν με το όνομα που θα δώσετε εδώ. Στο log της διαδικασία θα εμφανιστεί το μήνυμα «INFO    : Εργασία χωρίς επεξεργασία από DLL.» που σημαίνει ότι δεν έγινε περεταίρω επεξεργασία για κάποιο ERP.

g. Στην στήλη Χρήση αντιστοιχήσεων  επιλέγουμε εάν θα χρησιμοποιήσουμε τον πίνακα αντιστοιχήσεων κωδικών. Σε περίπτωση που δεν το επιλέξουμε, κάθε κωδικός του RetailStudio, προϋποθέτει ότι θα πρέπει να είναι ίδιος με τον αντίστοιχο κωδικό στο ERP. Εφόσον όμως βάλουμε έστω και μία εγγραφή αντιστοίχησης για κάποια οντότητα (π.χ. SPMoveTypes), το interface θα περιμένει κάθε κωδικός να υπάρχει σαν αντιστοιχία. Αν το επιλέξουμε, θα πρέπει υποχρεωτικά για κάθε οντότητα, να αντιστοιχήσουμε όλους τους κωδικούς με την διαδικασία που περιγράφεται παρακάτω.

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

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

Όταν υπάρχει χρώμα – μέγεθος δεν επιλέγουμε Ομαδοποίηση παραστατικών.

2. Στην επιλογή Διαχείριση/ Διασυνδέσεις/ Αντιστοιχίες κωδικών MBS παραμετροποιούμε τις αντιστοιχίες των κωδικών για κάθε οντότητα, ώστε το Interface να μπορεί να «μεταφράζει» τους κωδικούς του RetailStudio σε κωδικούς του ERP. Οι οντότητες που μπορούν να αντιστοιχηθούν είναι:

ADBranch                             Υποκαταστήματα της εταιρείας.

CustomerCategory              Οι κατηγορίες των πελατών και προμηθευτών.

CustomerProfession           Τα επαγγέλματα των συναλλασσομένων.

CustomerVATCategory        Τα καθεστώτα ΦΠΑ συναλλασσομένων.

ItemUnit                              Οι μονάδες μέτρησης των ειδών.

ItemVatCode                       Οι κωδικοί ΦΠΑ των ειδών.

ItemWarehouse                  Οι αποθήκες των ειδών.

SPMoveTypes                      Οι τύποι των κινήσεων των πελατών – προμηθευτών – αποθήκης.

SPPaymentMethods           Οι τρόποι πληρωμής των πελατών και προμηθευτών.

SPSalesPriceList                 Ο τιμοκατάλογος πωλήσεων.

a. Στην στήλη Κωδικός MBS  θέτουμε τον κωδικό του ERP.

b. Στην στήλη Κωδικός RS  θέτουμε τον κωδικό του RetailStudio.

c. Στην στήλη Πίνακας RS  θέτουμε το όνομα της οντότητας του RS που αφορά η αντιστοίχιση.

Παρατηρήσεις:

  • Για να αντιστοιχίσουμε τα ακυρωτικά παραστατικά του ERP με τα αντίστοιχα του RetailStudio, στην τιμή του Κωδικού RS ξεκινάμε με τον χαρακτήρα @. Π.χ. αν στο ΕRP το ακυρωτικό πωλήσεων έχει το πρόθεμα ΑΚΥ και θέλουμε να το αντιστοιχίσουμε με το ακυρωτικό της απόδειξης λιανικής του RetailStudio, η εγγραφή για τον Κωδικό MBS θα είναι το ‘ΑΚΥ’ και για τον Κωδικό RS θα είναι το ‘@ΑΛΠ’
  • Δεν θα πρέπει να χρησιμοποιούμε την ενέργεια της επιστροφής είδους μέσα σε κάποιο παραστατικό πώλησης. Η εισαγωγή στο ERP δεν δέχεται αρνητικές ποσότητες. Για την εξυπηρέτηση της συγκεκριμένης ανάγκης θα πρέπει να χρησιμοποιούμε το ξεχωριστό παραστατικό Επιστροφής Λιανικώς Πωληθέντων (ή άλλο αντίστοιχο).

Εφαρμογή RSToERP

Γενικά

Αυτό το πρόγραμμα είναι που εκτελεί την γέφυρα, βάση των ρυθμίσεων στο Retail Studio που αναφέρονται στο προηγούμενο κεφάλαιο. Απατούνται όμως και οι ρυθμίσεις στο ίδιο το RSToERP όπως περιγράφεται παρακάτω.

Εγκατάσταση του προγράμματος

  1. Το RStoERP μπορεί να εγκατασταθεί σε οποιοδήποτε υπολογιστή και φάκελο. (Συνιστάται στο c:\Program Files\iQom\RStoERPAll).
  2. Ορίζουμε στην έναρξη των windows αυτόματη εκκίνηση του προγράμματος ώστε να ξεκινάει αυτόματα με την έναρξη των windows (προαιρετικά).

Γενικές παρατηρήσεις για την εγκατάσταση

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

Χρειάζεται προσοχή στην παραμετροποίηση του firewall, του service του SQLBrowser, καθώς και των remote connections.

Παράδειγμα για το registration ενός SQL Server υπάρχει σαν stored procedure στο RetailStudio, ‘usp_AddNewLinkedServer’. Η διαδικασία αυτή καλεί την παρακάτω procedure: sp_addlinkedserver.

Ρύθμιση προγράμματος

Βασικά

Ανάλογα με το ERP εφαρμόζουμε τις ρυθμίσεις στην κεντρική Σελίδα του RS to MBS “Παράμετροι εφαρμογής”. Οι ρυθμίσεις που χρειάζονται διατυπώνονται στις επόμενες σελίδες, ανάλογα με το ERP με το οποίο συνδέεται. Το πρόγραμμα τρέχει απευθείας στο background και μπορούμε να του βρούμε μόνο από system tray όπως φαίνεται στην διπλανή εικόνα. Κάνουμε διπλό click και το καλούμε από την μπάρα εργασιών.

Στην κύρια οθόνη βλέπουμε τις παραμέτρους του προγράμματος. Οι παράμετροι αλλάζουν και από το αρχείο c:\Program Files\iQom\RStoERPAll\iQom.RStoERPAll.exe.config.

Οι ρυθμίσεις που μας χρειάζονται είναι μόνο αυτές που έχουν σχέση με τις βάσεις δεδομένων.

Ρύθμιση της αυτόματης εκκίνησης.

Ο ορισμός αυτόματης εκτέλεσης του προγράμματος iQom.RSToERPAll.exe με την εκκίνηση του λειτουργικού, γίνεται χειροκίνητα. Οι Ρυθμίσεις Αυτόματης Εκκίνησης της Διαδικασίας γίνονται μέσα από το iQom.RSToERPAll.exe.config.  Διορθώστε τις παρακάτω τιμές με μπλε χρώμα:

όπου,

StartupInterval – Χρόνος έναρξης: Είναι ο χρόνος για την πρώτη μόνο εκτέλεση από την έναρξη του προγράμματος.

UpdateInterval – Διάστημα μεταξύ Ενημερώσεων: O χρόνος μεταξύ των ενημερώσεων, από την στιγμή που τελειώσει κάποια ενημέρωση.

AutoRestart – Αυτόματη Επανεκκίνηση: True ή False ανάλογα με το αν θέλουμε αυτόματη Εκκίνηση των διαδικασιών.

Σημειώσεις

  • Όλοι οι χρόνοι είναι σε milliseconds (ms), 1000ms = 1sec. Π.χ. για μία ώρα δίνουμε 3600000.
  • Δεν έχει σημασία με ποια σειρά δηλώνονται οι ρυθμίσεις μέσα στο RSToERPAll.exe.config.

Αυτόματη εκκίνηση μέσα από το πρόγραμμα

Μόνο με το τσεκάρισμα αυτό του check box “Αυτόματη Επανεκκίνηση” γίνεται η έναρξη των Αυτόματων Εκκινήσεων της διαδικασίας. Καθώς και από εδώ μόνο γίνεται ο τερματισμός των Εκκινήσεων της Διαδικασίας.

Με το πλήκτρο Τερματισμός Εφαρμογής, κλείνει τελείως το πρόγραμμα. Αν έχει επιλεχθεί “Αυτόματη Επανεκκίνηση” βγαίνει προειδοποιητικό μήνυμα, αλλιώς κλείσει το πρόγραμμα κατευθείαν.

Τεχνική περιγραφή του RStoERP

Η SQL διαδικασία (stored procedure) με το όνομα usp_MBS_To_RS, που αναλαμβάνει

  • Να δημιουργεί τους πίνακες εφόσον δεν υπάρχουν.
  • Να ενημερώνει τους πίνακες του ιστορικού με βάση φροντίζοντας για τυχόν διπλό-ενημερώσεις.
  • Να ενημερώνει τον πίνακα με το ιστορικό για το αποτέλεσμα της εκτέλεσης της διαδικασίας.

Οι πίνακες που χρησιμοποιούνται και βρίσκονται στην βάση του ERP, είναι οι παρακάτω:

Με βάση τους ανωτέρω πίνακες και λόγω των ιδιαιτεροτήτων που παρουσιάζει ο LDERP Importer, δημιουργούνται επίσης και οι ακόλουθοι:

Εκτός από αυτούς τους πίνακες, ενημερώνονται και οι αντίστοιχοι πίνακες για το ιστορικό των ενημερωμένων εγγραφών. Οι πίνακες αυτοί βρίσκονται στην βάση του RetailStudio.

Εκτέλεση

Εκτέλεση γίνεται με το πάτημα του πλήκτρο «Εκκίνηση διαδικασίας» από το RSToERP. Οποιοδήποτε και αν είναι το ERP, η διαδικασία είναι η ίδια.

Η διαδικασία ενημέρωσης, περιλαμβάνει τα παρακάτω βήματα:

Βήμα 1ο: Ενημέρωση αρχείου πελατών

  1. Έλεγχος ύπαρξης πελάτη στο ERP.
  2. Εισαγωγή νέου πελάτη στο ERP.
  3. Ενημέρωση του πίνακα ADLogTable του RetailStudio με κλήση της διαδικασίας usr_WriteLog.

Παρατηρήσεις:

Υπάρχουν τα πεδία:

  • MBSCustomerVatCategory – Κωδικός καθεστώτος ΦΠΑ Πελάτη
  • MBSCustomerProfession – Κωδικός Επαγγέλματος πελάτη
  • MBSCustomerPaymentCode – Κωδικός Τρόπου πληρωμής πελάτη
  • MBSNoSeries – Κατηγορία πελάτη (δεν χρησιμοποιείται).

Που είναι τα αντίστοιχα πεδία των κωδικών του ERP.

Βήμα 2ο: Ενημέρωση αρχείου παραστατικών.

  1. Εισαγωγή νέων παραστατικών στο ERP.
  2. Ενημέρωση των πινάκων…History.
  3. Ενημέρωση του πίνακα ADLogTable του RetailStudio με κλήση της διαδικασίας usp_WriteLog.

Ειδική παραμετροποίηση- Διαφοροποίηση Header

Μπορούμε να διαφοροποιήσουμε την ομαδοποίηση που γίνεται στο header ενός παραστατικού, δημιουργώντας μια strored procedure με το όνομα usp_C_RSToERP_GetHeadersNotExistInHistorySum. Το σύστημα εφόσον βρει μια τέτοια strored procedure, θα εκτελέσει αυτή για να ομαδοποιήσει τα παραστατικά.

Ένα παράδειγμα τέτοιας φαίνεται στο παράρτημα 1.

Ειδική παραμετροποίηση- Διαφοροποίηση Detail

Μπορούμε να διαφοροποιήσουμε την ομαδοποίηση που γίνεται στο detail ενός παραστατικού, δημιουργώντας μια strored procedure με το όνομα usp_C_RSTOERP_GetDetailLines. Το σύστημα εφόσον βρει μια τέτοια strored procedure, θα εκτελέσει αυτή για να ομαδοποιήσει τις γραμμές των παραστατικών.

Ένα παράδειγμα τέτοιας φαίνεται στο παράρτημα 2.

Μορφή Πινάκων εξαγωγής

Πελάτες

Κινήσεις πελατών – προμηθευτών

Παραστατικά header

Παραστατικά header extension

Παραστατικά Detail

Παραστατικά DetailDim

Παραστατικά Payment

Παραστατικά CreditCardMoves

Παρατηρήσεις

  • Τα πεδία των πινάκων που απαρτίζουν το κλειδί του πίνακα, εμφανίζονται έντονα
  • Η σύνδεση header – detail είναι Company, Branch, FiscalYear, FactPrefixNum, MoveTypeCode
  • Τα πεδία που ξεκινούν με MBS, είναι το αποτέλεσμα του πίνακα αντιστοίχισης μεταξύ Retail Studio και ERP. Πχ, αν ο κωδικός παραστατικού στο Retail Studio είναι ο ΑΛΠ, και στον πίνακα αντιστοίχισης έχει συνδεθεί με τον 6012 του ERP, αυτό θα εμφανίζεται στο πεδίο MBSMoveTypeCode.
  • Καθότι οι εγγραφές στους πίνακες Header και Detail κατά κανόνα είναι συγκεντρωτικές (πολλά παραστατικά του Retail Studio μετατρέπονται σε ένα), τα πεδία εκπτώσεων και ΦΠΑ που πρέπει να λαμβάνονται υπόψη είναι τα αξιακά, και όχι αυτά που περιέχουν ποσοστά, έτσι ώστε να μην υπάρχει ασυμφωνία στις στρογγυλοποιήσεις των αξιών.
  • Οι εγγραφές Χονδρικής / Λιανικής δεν έχουν κάποια ειδική ένδειξη, τις αναγνωρίζουμε από την σειρά παραστατικού.
  • Στον πίνακα Customer περιέχονται όλοι οι πελάτες για τους οποίους έχουν εκδοθεί παραστατικά χονδρικής. Κατά την εισαγωγή στο ERP, θα πρέπει να γίνεται έλεγχος αν υπάρχουν ήδη.
  • Το πεδίο FlagInserted δείχνει αν η εγγραφή έχει περάσει στο ERP. Αρχικά είναι 0. Κατά την διαδικασία της εισαγωγής στο ERP, μπορεί να πάρει τιμές πχ 1=έχει γίνει εισαγωγή, 2=Αποτυχία, η 1= έγινε εισαγωγή του παραστατικού πώλησης, 2= έγινε εισαγωγή του αντίστοιχου παραστατικού είσπραξης.

Έξοδος δεδομένων σε ASCII

Γενικά

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

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

Τεχνικές προδιαγραφές αρχείων

  • Codepage 928
  • Delimited with “^” symbol

Ρυθμίσεις στο RetailStudio

Πηγαίνουμε: Διαχείριση \ Διασυνδέσεις \ Σύνδεση MBS \ Γενικές παράμετροι MBS και στην μία και μοναδική εγγραφή που μας εμφανίζεται δηλώνουμε σαν  “Ονομασία ERP” την τιμή AsciiERPExport

Το πεδίο στην βάση έχει όνομα MBSName.

Οι ρυθμίσεις μπορεί να είναι οι ακόλουθες:

Προφίλ Εισαγωγής Εξαγωγής

Πηγαίνουμε στο Διαχείριση \ Διασυνδέσεις \ Διαχείριση Import / Export \ Προφίλ Εισαγωγής / Εξαγωγής αρχείων.

Περνάμε τις ακόλουθες εγγραφές στον πίνακα:

  • Από τις παραπάνω ρυθμίσεις η στήλη “Οντότητα” πρέπει να έχει αυτές τις συγκεκριμένες τιμές.
  • Ο Φάκελος αρχείου θα πρέπει να έχει δημιουργηθεί.

Δομή παραγόμενων αρχείων ASCII

UV_AsciiERPExportCustomer 

Π.χ. C:\RetailStudioExports\Customers.txt

Εξαγωγή πελατών/προμηθευτών

UV_AsciiERPExportCustomerFacts

Π.χ. C:\RetailStudioExports\CustomerFinancialMovements.txt

Εξαγωγή κινήσεων πελατών

UV_AsciiERPExportHeader

Π.χ. C:\RetailStudioExports\SalesHeaderDetails.txt

Εξαγωγή κινήσεων

Η εξαγωγή των κινήσεων αποτελείται από τα στοιχεία των Header, Detail(s) & Payment(s) των δελτίων.

Όλες οι πληροφορίες κάθε δελτίου, βγαίνουν σε ένα block που ξεκινάει με το header, ακολουθούν τα details που είναι οι κινήσεις των εμπορευμάτων / υπηρεσιών και στο τέλος είναι οι πληρωμές όπου μπορεί να είναι και παραπάνω από μία.

Κάθε δελτίο ξεκινάει με γραμμή που περιέχει το κείμενο <%open> και κλείνει με  κείμενο <%close>. Για διευκόλυνση υπάρχει ένα πεδίο, το headerkey. Αυτό το πεδίο είναι το μοναδικό κλειδί του δελτίου. Βάση αυτού του κλειδιού ορίζεται η μοναδικότητα του δελτίου στην εφαρμογή. Όλες οι γραμμές (header, details, payments) έχουν το ίδιο κλειδί ανά δελτίο.

Δείγμα αρχείου

Οι γραμμές που συνεχίζονται στην επόμενη γραμμή, συνεχίζονται με εσοχή.

UV_AsciiERPExportZReport

Π.χ. C:\RetailStudioExports\ZReportHeaders.txt

Εξαγωγή αναφορών Ζ

Μοναδικό κλειδί σ’ αυτό τον πίνακα είναι τα πεδία Company, Branch, CashRegisterId, ZNo & ZDate

Περιεχόμενα