Πεδίο MTRLINES στον πίνακα MTRLINES

253 views
Skip to first unread message

SotirisM

unread,
Jan 17, 2010, 4:36:27 AM1/17/10
to Softone Developers Network, webm...@tzirakian.com
Καλημέρα σε όλους

Έχω μία απορία που μάλλον κάποιος θα την ξέρει.

Όταν καταχωρώ ένα παραστατικό στον πίνακα MTRLINES καταγράφονται
οι γραμμές του παραστατικού.
Στο πεδίο MTRLINES καταγράφονται κάποια νούμερα τα οποία δεν είναι
συνεχόμενα.

Ψάχνω τα εξείς.
1) Ποιά είναι η ουσία και λογική του MTRLINES πεδίου και τι
καταγράφεται εκεί.

2) Το συμμαντικότερο είναι αν αυτό το νούμερο (MTRLINES πεδίο) , για
κάποια γραμμή
μπορεί να αλλάξει στην συνέχεια, με κάποια επανακαταχώρηση
παραστατικού,
η οποία αλλάζει κάποιο στοιχείο της γραμμής;

Ευχαριστώ πολύ.

Athanasiadis George

unread,
Jan 17, 2010, 5:18:55 AM1/17/10
to Softone Developers Network
Το MTRLINES είναι ενα μοναδιαίο νούμερο για κάθε γραμμή παραστατικού.
Σύμφωνα με τον DataBase Designer κύριο κλειδί στο MTRLINES είναι
το FINDOC;MTRLINES ( για αυτό αν πατήσεις κλικ στην καρτέλλα του
είδους το
πρόγραμμα θα σου εμφανίσει το παραστατικό απο το οποίο προέρχεται αλλά
και θα σε πάει αυτόματα στην γραμμή του συγκεκριμένου είδους ξέρει και
το FINDOC
και το MTRLINES απο το οποίο προέρχεται)

Το MTRLINES δεν αλλάζει γιατί αν δεις το
TRANSACTION της καταχώρησης ενός παραστατικού ( απο το SQL Monitor της
εφαρμογής)
θα δείς εκεί πως γίνεται ενημέρωση
και του MTRTRN ( κινήσεις αποθήκης δηλαδή καρτέλλα είδους) οπου το
MTRTRN
( που κρατάει link με το παραστατικό [FINDOC] και την γραμμη
παραστατικού [MTRLINES] )
πρέπει να ενημερωθεί σωστά με το FINDOC και MTRTRN
Το πρόγραμμα κατά την καταχώρηση παραστατικού καταχωρεί πρώτα στον
FINDOC ( και πέρνει πίσω
κατευθείαν το FINDOC με το οποίο καταχωρήθηκε το παραστατικό
SELECT :ID = SCOPE_IDENTITY() )
και το MTRLINES το έχει έτοιμο ( το σχηματίζει on-memory προφανώς) για
τις παρακάτω καταχωρήσεις)
Δες και το query που κάνει το πρόγραμμα αν διαγράψεις γραμμή
παραστατικού και κάνεις
καταχώρηση
DELETE FROM MTRTRN WHERE FINDOC=21078 AND MTRTRN=2 AND LINENUM=1
Αν αλλάξει το MTRLINES θα χαθεί το link MTRLINES - MTRTRN

Το πρόγραμμα ως προς MTRLINES κάνει τα εξής.
Σε νέα καταχώρηση παραστατικού κάνει INSERT στον MTRLINES σε
διαγραφή γραμμής παραστατικού κάνει DELETE από τον MTRLINES και
σε περίπτωση αλλαγής κάποιου πεδίου της γραμμής ( π.χ. ειδος ,
ποσότητας, τιμής, αξίας, εκπτωσης) κάνει
UPDATE στον MTRLINES.


Athanasiadis George

unread,
Jan 17, 2010, 5:32:01 AM1/17/10
to Softone Developers Network
στο προηγούμενο έγραψα μόνο για την διαγραφή του MTRTRN
δες και την διαγραφή που γίνεται στο MTRLINES αν
διαγράψω γραμμή παραστατικού και πατήσω καταχώρηση

DELETE FROM MTRLINES WHERE FINDOC=21080 AND MTRLINES=2

Sotirios Milios

unread,
Jan 17, 2010, 6:16:02 AM1/17/10
to so...@googlegroups.com
Ευχαριστώ πολύ.

Δηλαδή για να αλλάξει το MTRLINES πεδίο σε μία παραγγελία σημαίνει
οτι ο χρήστης εχει διαγράψει το είδος της γραμμής και το έχει ξαναπεράσει.

Το λέω αυτό διότι σε μία εφαρμογή που προσπαθεί να ταυτοποιήσει είδη
πρός παραγωγική διαδικασία η ταυτότητά τους περιλαμβάνει και το mtrlines πεδίο.

Επομένως μου είναι κρίσιμος παράγοντας το πεδίο αυτό.

Αν δεν αλλάζει σε επανακαταχωρήσεις (χωρίς να διαγράψω τη γραμμή)
τότε όλα θα παραμείνουν όπως ήταν κατά την πρώτη καταχώρηση του
του παραστατικού της παραγγελίας.


Πάντως βρε παιδιά είστε super στην απόκριση. Τέλεια!!!


Σωτήρης Μήλιος
Reply all
Reply to author
Forward
0 new messages