C#-OUT Καταχώρηση γραμμής παραστατικού με Χ/Μ

366 views
Skip to first unread message

Dimitris Klis

unread,
Feb 20, 2013, 4:18:07 AM2/20/13
to so...@googlegroups.com
Καλημέρα σας.

Γνωρίζω πως σε import παραστατικού με Χρώμα/Μέγεθος πρέπει να  χρησιμοποιήσουμε τον πίνακα VQTYANAL.

Μετά πρέπει να ενημερωθεί η ποσότητα QTY στη γραμμή του είδους.

Έχω πρόβλημα να την ενημερώσω σε C# OUT εφαρμογή. Δοκίμασα όσους τρόπους μπόρεσα να βρω στο group μεταφέροντας τους σε C# χωρίς επιτυχία. (Πχ. ModuleFinDoc.EvalFormula("MTRLINES.SumQAnal("+IteLines.Current["MTRLINES"]+"," + "\"QTY1\"" + ")");)

Μπορείτε να μου συστήσετε πως θα πρέπει να υλοποιηθεί;

Ευχαριστώ,
Δημήτρης




Dimitris Klis

unread,
Feb 22, 2013, 3:54:44 AM2/22/13
to so...@googlegroups.com
Καλημέρα.

Υπάρχει κάποιος στη Softone που μπορεί να απαντήσει το ερώτημα μου;

Ευχαριστώ.

Γιάννης Μαλακούδης

unread,
Feb 22, 2013, 4:19:45 AM2/22/13
to so...@googlegroups.com
Δοκίμασε να βάλεις τα χαρακτηριστικά στην γραμμή (Στήλες γραμμών) και να δίνεις τιμές σ'αυτά.




--
--
Softone Developers Network group.
To post to this group, send email to so...@googlegroups.com
---
Λάβατε αυτό το μήνυμα επειδή έχετε εγγραφεί στην ομάδα Softone Developers Network των Ομάδων Google.
 
Για να καταργήσετε την εγγραφή σας από αυτή την ομάδα και να σταματήσετε να λαμβάνετε μηνύματα ηλεκτρονικού ταχυδρομείου από αυτή, στείλτε ένα μήνυμα ηλεκτρονικού ταχυδρομείου στη διεύθυνση soft1+un...@googlegroups.com.
Για περισσότερες επιλογές, επισκεφτείτε τη διεύθυνση https://groups.google.com/groups/opt_out.
 
 



--

● Ι. Τσαλουχίδη 4  ● 542 48 Θεσσαλονίκη ●

Τηλ. +2310. 334642 -44-46 , Fax  +30 2310.334639  

E-mail:j...@softone.grSite Company:www.softone.gr

http://www.softone.gr/

Dimitris Klis

unread,
Feb 22, 2013, 4:45:58 AM2/22/13
to so...@googlegroups.com

Σας ευχαριστώ για την απάντηση.

Μπορείτε να μου διευκρινήσετε τι εννοείτε με το "χαρακτηριστικά στην γραμμή (Στήλες γραμμών)"; Το παραστατικό έχει στήλες γραμμών που όμως δεν είναι στη γραμμή και δεν θέλουμε να είναι στην γραμμή.

Υπάρχει κάποιος τρόπος να οριστύν οι στήλες γραμμών προγραμματιστικά και μετά να τις γυρίσω πίσω, πάλι προγραμματιστικά;

Ειδάλλως ποιός είναι ο σωστός τρόπος να ενημερώσω το MTRLINES.QTY μετά από την ενημέρωση του VQTYANAL;

Ευχαριστώ.

Κώστας Πανουκλιάς

unread,
Feb 22, 2013, 5:25:26 AM2/22/13
to so...@googlegroups.com
Θα ενημερώσεις την ποσότητα 1 στην γραμμή
πχ Itelines.Current["QTY1"] = 10;

Θα ενημερώσεις το VTQYANAL (Προφανώς με κάποιο Loop εάν έχεις πολλές γραμμές σε χμ )

VQtyAnal.Current.Insert();
VQtyAnal.Current["MTRLINES"] = Itelines.Current["MTRLINES"];
VQtyAnal.Current["CDIMLINES1"] = 1;
VQtyAnal.Current["CDIMLINES2"] = 2;
VQtyAnal.Current["CDIMLINES3"] = 5;
VQtyAnal.Current["QTY1"] = 50;

Στο Τελος του Loop και πριν κάνεις Itelines.Current.Post(); θα καλέσεις την 

Module.EvalFormula("IteLineAnal.SumQAnal(" + Itelines.Current["MTRLINES"].ToString() + ",'QTY1')");

Ελπίζω να βοήθησα !!!



Ευχαριστώ.

--

Κώστας Πανουκλιάς

unread,
Feb 22, 2013, 5:35:53 AM2/22/13
to so...@googlegroups.com
Προς διευκρίνηση  !

Module = XSupport.CreateModule("SALDOC");
Itelines = Module.GetTable("ITELINES");
VQtyAnal  = Module.GetTable("VQTYANAL");

Dimitris Klis

unread,
Feb 22, 2013, 6:14:21 AM2/22/13
to so...@googlegroups.com
Με βοήθησες πολύ!!!

Θα το δοκιμάσω και θα ενημερώσω εδώ μήπως το χρειαστεί και κάποιος άλλος συνάδελφος...

Ευχαριστώ Κώστα,
Δημήτρης

Dimitris Klis

unread,
Feb 22, 2013, 6:24:41 AM2/22/13
to so...@googlegroups.com
Λοιπόν ο τρόπος σου έπαιξε με μια μικρή αλλαγή.

Δεν χρειάζεται να δώσουμε IteLines.Current["QTY"] = 10; ή κάποια τιμή. Άν χρησιμοποιήσεις int βγάζει cast error. Αν βάλεις double δίνει operation aborted.

Αν όμως δεν δώσεις QTY στο MTRLINES και την υπολογίσεις μετά το VQTYANAL με την ModuleFinDoc.EvalFormula("IteLineAnal.SumQAnal(" + IteLines.Current["MTRLINES"].ToString() + ",'QTY1')");

Τότε ενημερώνεται σωστά!!!





Οπότε όλος ο κώδικας που έπαιξε σε εμένα είναι:

                        IteLines.Current["LINENUM"] = Convert.ToInt32(tblDataDetails[y, "LineNumber"].ToString());
                        IteLines.Current["SODTYPE"] = 51;
                        IteLines.Current["SOSOURCE"] = 1351;
                        IteLines.Current["MTRL"] = Convert.ToInt32(tblDataDetails[y,"MTrl"].ToString());
                        IteLines.Current["MTRUNIT"] = 1;
                        //IteLines.Current["QTY1"] = 10.0; Εδώ δίνει Operation Aborted αν το κάνω uncomment!!!
                        //IteLines.Current["QTY"] = 1.0;     Εδώ δίνει Invalid cast αν το κάνω uncomment!!!
                        IteLines.Current["PRICE"] = price;
                                                                                                                    
                       
                        vQtyAnal.Current.Insert();
                        vQtyAnal.Current["MTRLINES"] = IteLines.Current["MTRLINES"];
                        vQtyAnal.Current["CDIMLINES1"]  = Convert.ToInt32(tblDataDetails[y,"MTRDIM1"].ToString());
                        vQtyAnal.Current["CDIMLINES2"]  = Convert.ToInt32(tblDataDetails[y,"MTRDIM2"].ToString());
                        vQtyAnal.Current["QTY"] = 1.0;
                        vQtyAnal.Current["QTY1"] = 1.0;
                        vQtyAnal.Current.Post();

                        ModuleFinDoc.EvalFormula("IteLineAnal.SumQAnal(" + IteLines.Current["MTRLINES"].ToString() + ",'QTY1')");

                        IteLines.Current.Post(); 

Σας ευχαριστώ για την βοήθεια.

Με εκτίμηση,
Δημήτρης      
                       
Reply all
Reply to author
Forward
0 new messages