Εκτύπωση Επιχ. Παραστατικού μετά από locate!

286 views
Skip to first unread message

NikTram

unread,
Jun 9, 2009, 11:22:42 AM6/9/09
to Softone Developers Network
Μέσα από ένα Επιχειρησιακό Παραστατικό και από XCMD δημιουργώ με c#
και dotNet ένα άλλο Επιχ. Παραστατικό του ίδιου κυκλώματος με κώδικα,
το καταχωρώ και θα ήθελα τελικά να το τυπώσω.

Κατ’ αρχάς προσπάθησα να χρησιμοποιήσω τον κώδικα που ο κ.
Γεωργουλάκης έχει «ανεβάσει» σε post στις 6/3/09 με θέμα «Εκτύπωση
Φόρμας παραστατικού μέσα από Custom» και ο κώδικας που χρησιμοποίηση
ήταν copy/paste από το post με την διαφορά ότι άλλαξα το Prg σε
XSupport (αυτό δεν ξέρω αν είναι σωστό αλλά δεν βρίκα Prg object), το
Customer με το δικό μου module, τον κωδικό της φόρμας μου και το όνομα
του εκτυπωτή. Ο κώδικας μου λοιπόν διαμορφώθηκε ως εξής :

object [] myArray;
myArray = new object[4];
object SysRequest = XSupport.GetStockObj("SysRequest", true);
myArray[0] = XModule.Handle;
myArray[1] = 111;
myArray[2] = "HP Photosmart 8000 Series";
myArray[3] = "";
XSupport.CallPublished(SysRequest, "PrintForm", myArray);

Το αποτέλεσμα ήταν όμως να μην γίνει τίποτα! Ούτε exception, ούτε
εκτύπωση, ούτε τίποτα!

Προκειμένου όμως να προχωρήσει η υλοποίηση του project και για να μην
σας ενοχλώ με το παραμικρό είπα να παρακάμψω το πρόβλημα με δικό μου
τρόπο και η λύση που βρήκα ήταν να κάνω locate στο module που είμαι με
το νέο ID του παραστατικού που μόλις δημιούργησα ώστε να το εκτυπώσει
ο χρήστης μόνος του!!! Έλα όμως που έπεσα πάλι σε τοίχο και έφαγα τα
μούτρα μου, οπότε να’ μαι εδώ τώρα να σας ενοχλώ τελικά! Το πρόβλημα
είναι ότι ενώ η φόρμα μου δείχνει το σωστό παραστατικό (το νέο δηλαδή)
όταν πατάω εκτύπωση τότε εκτυπώνεται το προηγούμενο!!!!

Τι κάνουμε τώρα;

Περιμένω απάντησή σας.

Επίσης σχετικά με το παραπάνω έχω την εξής απορία. Δεν θα έπρεπε
εφόσον έχω επιλέξει στον σχεδιασμό της σειράς του Επιχ. Παραστατικού
Τρόπο Εκτύπωσης «Ναι (Αυτόματα)» δεν θα έπρεπε να εκτυπώνεται στην
καταχώριση;


Ευχαριστώ

Ν. Τραμπούλης

Giannis Giorgoulakis

unread,
Jun 11, 2009, 6:10:04 AM6/11/09
to so...@googlegroups.com

Για να τα πάρουμε από την αρχή :

  1. Η εκτύπωση μέσα από dotNET (CallPublished) τη Result σου επιστρέφει ; Ο κωδικός της φόρμας υπάρχει ; είναι του ίδιου κυκλώματος ; Το όνομα του εκτυπωτή εμφανίζετε έτσι μέσα από το Interface του Soft1 ; Αν καταχωρήσεις αυτό το παραστατικό από το Interface του Soft1 και διαλέξεις εκτύπωση τη συμπεριφορά έχει ;
  2. Πως προσπάθησες να «παρακάμψεις το πρόβλημα», δηλαδή τη interface έδωσες στον χρήστη «ώστε να το εκτυπώσει ο χρήστης μόνος του!!!» ;
  3. Σε ποια φόρμα εμφανίζετε κάτι και τυπώνετε κάτι άλλο, είναι φόρμα του Soft1 αυτή ; είναι Custom ; και με ποιο τρόπο γίνεται η εκτύπωση ; Θεωρώ ότι αν υπάρχει τέτοιο πρόβλημα θα είναι γενικό,  επομένως  θα συμβαίνει και στις πωλήσεις ;  

Τώρα σχετικά με την απορία που έχεις,  η καταχώρηση του παραστατικού είναι άλλο πράγμα και άλλο πράγμα η εκτύπωση. Μέσα από το interface του Soft1 εφόσον έχεις ορίσει αυτή την συμπεριφορά θα λειτουργήσει θαυμάσια.

Μέσα από Custom  όμως δεν είναι το ίδιο γιατί για παράδειγμα η καταχώρηση του παραστατικού μπορεί να γίνετε μέσα από ISAPI  του IIS ή μέσα από REST επομένως φαντάζεσαι τη θα γινόταν. Για το λόγο αυτό στις custom περιπτώσεις αποφασίζει μόνος του ο Developer πότε και πού θα τυπώσει.


2009/6/9 NikTram <nik...@gmail.com>

NikTram

unread,
Jun 11, 2009, 6:40:36 AM6/11/09
to Softone Developers Network
1. Η CallPublisher μου επιστρέφει null. Ο κωδικός της φόρμας υπάρχει
και είναι του ίδιου κυκλώματος το οποίο βέβαια είναι Επιχ. Παραστ.
(CUSTFINDOC.1011). Το όνομα του εκτυπωτή το έχω κάνει Copy/Paste από
Soft1. Το παραστατικό που φτιάχνω είναι το ίδιου κυκλώματος, απλά άλλη
σειρά. Προσπάθησα να τυπώσω με τον ίδιο κώδικα τόσο το παραστατικό που
παράγεται με κώδικα, βάζοντας βέβαια στα ανάλογα σημεία το αντίστοιχο
module που έχω δημιουργήσει με κώδικα, όσο και το παραστατικό που
βρίσκομαι χωρίς να φτιάξω κανένα άλλο παραστατικό, απλά για να δω αν
τυπώνεται. Το αποτέλεσμα είναι το ίδιο! Το παραστατικό που παράγεται
και μετά την καταχώρισή του αν γυρίσω πίσω στον browser, κάνω refresh,
και το επιλέξω, τότε τυπώνεται κανονικά.
2. Με το «παρακάμψω» εννοούσα ότι προσπάθησα να δώσω άλλη λύση. Αυτό
που έκανα δηλ. ήταν να κάνω LocateData στο module που έχω ήδη ανοικτό,
με το ID που έχω πάρει από το module που δημιούργησα με κώδικα από την
PostData(). Με αυτόν τον τρόπο «έρχεται» στην οφόνη το νέο
παραστατικό αλλά όταν πατάω το κουμπί εκτύπωσης τότε μου εκτυπώνει το
προηγούμενο! Υποθέτω ότι αυτό έχει να κάνει με την τρέχουσα εγγραφή
του browser ο οποίος προφανός δεν έχει ενημερωθεί αναλόγος!
3. Η φόρμα είναι Soft1 Επιχ. Παραστ. με custom προβολή βέβαια.
Επίσης μία λύση που ίσως «παίξει» τώρα και μέχρι να βγάλουμε άκρη για
το αν κάνω κάτι λάθος ή υπάρχει πρόβλημα στα παραπάνω είναι να ανοίξω
με ExecS1Command modal οθονη με το παραστατικό που έφτιαξα και να το
τυπώσει ο χρήστης. Τότε σίγουρα θα παίξει το κουμπί αλλά δεν ξέρω αν
και πως γίνεται στο command να δώσω το keyvalue για να κάνει locate!
Αυτό θα μου έλεινε τα χέρια τώρα και για τα υπόλοιπα βλέπουμε!

Ευχαριστώ πολύ, ξέρω ότι γίνομαι κουραστικός αλλά εφόσον δεν υπάρχει
σχετικό documentation δεν έχω άλλο τρόπο να το παλέψω και πρέπει να
βγει η δουλειά!!!

Ν.Τ.


On Jun 11, 1:10 pm, Giannis Giorgoulakis <gian...@giorgoulakis.com>
wrote:


> Για να τα πάρουμε από την αρχή :
>

>    1. Η εκτύπωση μέσα από dotNET (CallPublished) τη Result σου επιστρέφει ;


>    Ο κωδικός της φόρμας υπάρχει ; είναι του ίδιου κυκλώματος ; Το όνομα του
>    εκτυπωτή εμφανίζετε έτσι μέσα από το Interface του Soft1 ; Αν
>    καταχωρήσεις αυτό το παραστατικό από το Interface του Soft1 και διαλέξεις
>    εκτύπωση τη συμπεριφορά έχει ;

>    2. Πως προσπάθησες να «παρακάμψεις το πρόβλημα», δηλαδή τη interface έδωσες


>    στον χρήστη «ώστε να το εκτυπώσει ο χρήστης μόνος του!!!» ;

>    3. Σε ποια φόρμα εμφανίζετε κάτι και τυπώνετε κάτι άλλο, είναι φόρμα του


>    Soft1 αυτή ; είναι Custom ; και με ποιο τρόπο γίνεται η εκτύπωση ; Θεωρώ
>    ότι αν υπάρχει τέτοιο πρόβλημα θα είναι γενικό,  επομένως  θα συμβαίνει
>    και στις πωλήσεις ;
>
> Τώρα σχετικά με την απορία που έχεις,  η καταχώρηση του παραστατικού είναι
> άλλο πράγμα και άλλο πράγμα η εκτύπωση. Μέσα από το interface του Soft1
> εφόσον έχεις ορίσει αυτή την συμπεριφορά θα λειτουργήσει θαυμάσια.
>
> Μέσα από Custom  όμως δεν είναι το ίδιο γιατί για παράδειγμα η καταχώρηση
> του παραστατικού μπορεί να γίνετε μέσα από ISAPI  του IIS ή μέσα από
> REST επομένως
> φαντάζεσαι τη θα γινόταν. Για το λόγο αυτό στις custom περιπτώσεις
> αποφασίζει μόνος του ο Developer πότε και πού θα τυπώσει.
>

> 2009/6/9 NikTram <nikt...@gmail.com>

Reply all
Reply to author
Forward
0 new messages