Καλημέρα σας,
Παρακαλούμε ακολουθήστε τα παρακάτω βήματα:
Δημιουργήστε ένα Virtual Table (π.χ. ονομάστε το CCCFOROUMTEST).
Προσθέστε σε αυτό τρία πεδία:
MTRL (Αλφαριθμητικό)
FINDOC (Ακέραιος)
FINCODE (Αλφαριθμητικό)
Αποσυνδεθείτε από το SoftOne και επανεισέλθετε, ώστε να πραγματοποιηθεί ο συγχρονισμός του Virtual Table.
(Δεν απαιτείται δημιουργία νέας έκδοσης μέσω S1 Designer.)
Μεταβείτε στην προβολή της ενότητας όπου επιθυμείτε να το χρησιμοποιήσετε (π.χ. στα παραστατικά αποθήκης) και προσθέστε τον πίνακα στην προβολή.
Ενδεικτικά, μπορείτε να δημιουργήσετε νέα σελίδα που να περιλαμβάνει περιοχή με τα ITEDOC.INT01 και GRID, ώστε να εμφανίζονται τα επιθυμητά αποτελέσματα.
Ορίστε τον editor του πεδίου ITEDOC.INT01 ως MTRL.
Δεν είναι απαραίτητη η δημιουργία view — μπορείτε να προσθέσετε απευθείας τον παρακάτω κώδικα στις παραμέτρους SQL (script), αντικαθιστώντας την τιμή 408119 με το ITEDOC.INT01.
function myFuncTest(){
try{
ds = X.GETSQLDATASET(
"SELECT DISTINCT TOP 30 MTRLINES.MTRL,FINDOC.FINDOC,FINDOC.FINCODE FROM MTRLINES JOIN FINDOC ON FINDOC.FINDOC = MTRLINES.FINDOC AND FINDOC.SOSOURCE = 1151 WHERE MTRLINES.MTRL = :1",
408119
);
while (!ds.EOF()) {
CCCFOROUMTEST.APPEND();
CCCFOROUMTEST.MTRL = ds.MTRL;
CCCFOROUMTEST.FINDOC = ds.FINDOC;
CCCFOROUMTEST.FINCODE = ds.FINCODE;
CCCFOROUMTEST.POST();
ds.NEXT();
}
}
finally {}
}
function ON_ITEDOC_INT01(){
myFuncTest()
}
function ON_LOCATE(){
myFuncTest()
}
Οι συναρτήσεις:
ON_ITEDOC_INT01() εκτελείται όταν πραγματοποιείται μεταβολή στο πεδίο ITEDOC.INT01.
ON_LOCATE() εκτελείται κάθε φορά που ανοίγετε το παραστατικό.