Χειρόγραφη απόδειξη είσπραξης XAE μέσω Web Services

482 views
Skip to first unread message

Giannis Kourakos

unread,
May 15, 2019, 6:27:21 AM5/15/19
to Softone Developers Network
Προσπαθώ να δημιουργήσω χειρόγραφη απόδειξη είσπραξης με σειρά: 3820 XAE  μέσω Web services.
Κάνοντας αρκετά
calls για να καταλήξω στο σωστό object παρατήρησα ότι με την getBrowserInfo   στο object CFNCUSDOC έπαιρνα reqID που όταν το καλούσα με getBrowserData έπαιρνα τις χειρόγραφες αποδείξεις είσπραξης.
Ξεκίνησα να προσπαθώ να κάνω εισαγωγή χωρίς όμως κάποιο αποτέλεσμα αφού έπαιρνα μήνυμα «Δεν μπορεί να γίνει Καταχώριση Νέας Εγγραφής».
Συνεχίζοντας τις προσπάθειες και ψάχνοντας έπεσα πάνω στη σελίδα 365 του SoftOneBlackBook ver.3.0 όπου εκεί εκτός των άλλων εμφανίζει ένα Import στη  "CFNCUSDOC …"
Πιστεύοντας πως είναι κοντά σε αυτό που θέλω να κάνω έφτιαξα την παρακάτω
setData
string new_xeirografi_apodiksi = "{\"OBJECT\":
\"CFNCUSDOC\",\"SERVICE\":
\"setData\",\"clientID\": \""
+ clientID +
"\",\"
appId\": \"2001\",\"KEY\":
\"\",\"
data\": {\"FinDoc\": [{\"SERIES\": \"" + seriesId + "\",\"TRDR\":
\""
+
TRDR_CODE + "\",\"TRNDATE\": \"" + timestamp_for_soft_one + "\",\"FINDOCS\": \"" + FINCODE + "\",\"COMMENTS \": \"" + COMMENTS + "\"}],\"CashLines\": [{\"SOPAYTYPE\": \"1\",\"LINEVAL\": \"1\"}]}}";
Και πάλι όμως συνεχίζω και παίρνω μήνυμα: «Δεν μπορεί να γίνει Καταχώριση Νέας Εγγραφής. Δεν υπάρχει το πεδίο  "Παραστατικό προέλευσης» .

Νίκος Μάλιακκας

unread,
May 16, 2019, 4:26:06 AM5/16/19
to Softone Developers Network
στέλνεις στο FINDOCS ένα πεδίο FINCODE .
ΤΟ FINDOC.FINDOCS είναι το σχετικό παραστατικό, και πρέπει να υπάρχει ως FINDOC.FINDOC για να καταχωρηθεί.
αν θες να περάσεις το FINCODE, θα πρέπει να βάλεις το πεδίο FINCODE ή CMPFINCODE, έτσι όπως τουλάχιστον γίνεται στα imports.

Giannis Kourakos

unread,
May 21, 2019, 4:03:53 AM5/21/19
to Softone Developers Network

Νίκο καλημέρα.

Ευχαριστώ πολύ για την απάντηση σου. Τελικά μετα από αρκετές δοκιμές κατέληξα πως το column που μου έλειπε ήταν το CMPSERIESNUM για τη FINCODE μεταβλητή που είναι ο αριθμός της απόδειξης.
Παραθέτω παρακάτω τον κώδικα με τον οποίο καταφερα να περάσω χειρόγραφη απόδειξη μέσω web services για μελλοντική χρήση σε όποιον τον χρειαστεί.

string new_xeirografi_apodiksi = "{\"OBJECT\":
\"CFNCUSDOC\",\"SERVICE\":
\"setData\",\"clientID\": \""
+ clientID +
"\",\"appId\": \"2001\",\"KEY\":
\"\",\"data\": {\"FinDoc\": [{\"SERIES\": \""
+ seriesId +
"\",\"TRDR\":
\""
+ TRDR_CODE + "\",\"TRNDATE\": \"" + timestamp_for_soft_one + "\",\"CMPSERIESNUM\": \"" + FINCODE + "\",\"COMMENTS \": \"" + COMMENTS + "\"}],\"CashLines\": [{\"SOPAYTYPE\": \"1\",\"LINEVAL\": \"1\"}]}}";


kko

unread,
May 30, 2019, 5:52:01 PM5/30/19
to Softone Developers Network
O Νίκος έχει δώσει την σωστή απάντηση, αφήνω αυτό εδώ για όποιον το χρειαστεί :

{
   
"service": "setdata",
   
"OBJECT": "CFNCUSDOC",
   
"ClientId": "xxxxxxxx",
   
"appId": "xxxx",
   
"data": {
       
"CFNCUSDOC": [
           
{
               
"SERIES": "πχ3800,σειρά είσπραξης",
               
"TRNDATE":"Ημερομηνία αν διαφορετική από το Login",
               
"FINCODE": "συμπληρώνεται με σχετικό παραστατικό FINCODE όταν Σύνθεση κωδ.παρ/κού=Ναι",
               
"CMPFINCODE": "συμπληρώνεται με σχετικό παραστατικό FINCODE όταν Σύνθεση κωδ.παρ/κού=Όχι",
               
"FINDOCS": "το σχετικό id του FINDOC του παραστατικού, για να δεθεί με το σχετικό παραστατικό",
               
"CMPSERIESNUM": "αριθμός εγγραφής, μόνο αν η σειρά δεν έχει αυτόματη αρίθμηση",
               
"TRDR": "id Πελάτη"
           
}
       
],
       
"CASHLINES": [
           
{
               
"LINEVAL": "nnnn,nn",
               
"TRDR": "id χρηματικού"
           
}
       
]
   
}
}

Reply all
Reply to author
Forward
0 new messages