Δημιουργία παραστατικού με χρώμα / μέγεθος με web service

1,630 views
Skip to first unread message

Ivan Ioannis Stragalis

unread,
Oct 5, 2018, 5:23:13 AM10/5/18
to Softone Developers Network
Καλημέρα σε όλους,

μπορεί κάποιος να μου στείλει πληροφορίες ή ένα παράδειγμα JSON για να δημιουργήσω παραστατικό όπου στη γραμμή προϊόντος να περιέχεται πληροφορία για συγκεκριμένο χρώμα μέγεθος και ποσό;

Για απλό παραστατικό χρησιμοποιώ το παρακάτω. Απλά δε μπορώ να βρω πως θα το εμπλουτίσω με χρώμα / μέγεθος. Ευχαριστώ εκ των προτέρων!!!

{
    "service": "setData",
    "clientID": "9J8p...",
    "appId": "1010",
    "data": {
        "SALDOC": [
            {
                "SERIES": "9091",
                "TRDR": "114828"
            }
        ],
        "ITELINES": [
            {
                "PRICE": "74.50",
                "LINENUM": 1,
                "MTRL": "92764",
                "QTY1": "2"
            }
        ],
        "MTRDOC": {
            "3_SHIPPINGADDR": "Twin Towers ",
            "SHPZIP": "MO1234",
            "2_SHIPPINGADDR": "52",
            "1_SHIPPINGADDR": "Alaloum Str",
            "1_SHPDISTRICT": "",
            "3_SHPDISTRICT": "GR",
            "SHPCITY": "Mordor",
            "2_SHPDISTRICT": "???"
        },
        "EXPANAL": [
            {
                "EXPN": "7024",
                "LINENUM": 1,
                "EXPVAL": "100"
            }
        ]
    },
    "object": "SALDOC"
}

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

unread,
Oct 6, 2018, 4:27:36 AM10/6/18
to Softone Developers Network
Τι ωραία που θα ήταν μια συνάρτηση:
XModule.toWebServicesData
που να μας δίνει τα δεδομένα της located εγγραφής του module.
Προς softone devs: add this to my wish list!

καλή συνέχεια!

Digital

unread,
Oct 9, 2018, 12:10:00 PM10/9/18
to Softone Developers Network
Καλησπέρα,
έχεις βρεί κάποια λύση ;

Vasilis Vasilopoulos

unread,
Oct 9, 2018, 12:30:41 PM10/9/18
to Softone Developers Network
Καλησπέρα σας,

προκειμένου να εισάγουμε παραστατικό το οποίο θα έχει στις γραμμές ειδών χαρακτηριστικά θα πρέπει να χρησιμοποιήσουμε τα πεδία Χαρακτ. 1 (ITELINES.CDIMNO1) και Χαρακτ. 2 (ITELINES.CDIMNO2). Για να είναι εφικτό αυτό μπορούμε να χρησιμοποιήσουμε προβολή στην οποία στις γραμμές των ειδών θα έχουμε τα παραπάνω πεδία. Στη συνέχεια παρουσιάζεται μία κλήση της setData για παραστατικό με είδη με χρώμα/μέγεθος.


{

 "SERVICE": "setData",

 "CLIENTID": "9J8pJMX . . . . . . 59T513KrbL9JL5",

 "APPID": "1001",

 "OBJECT": "SALDOC[FORM=colors1]",

 "KEY": "",

 "DATA": {

  "SALDOC": [{    

   "SERIES": "7021",

   "TRDR": "164"

  }],

  "ITELINES": [{

   "__comment": "Item with attributes",

   "LINENUM": "9000001",

   "MTRL": "1829",

   "QTY": "100",

   "CDIMNO1": "1",

   "CDIMNO2": "2",

   "VAT": "1410"

  },

  {"LINENUM": "9000002",

   "MTRL": "1770",

   "QTY": "200",

   "CDIMNO1": "2",

   "CDIMNO2": "1",

   "VAT": "1410"

  },

  {

   "__comment": "Item with attributes",

   "LINENUM": "9000003",

   "MTRL": "1829",

   "QTY": "25",

   "CDIMNO1": "2",

   "CDIMNO2": "1",

   "VAT": "1410"

  }]

 },

 

}

 

colors1.PNG


Στην παραπάνω εικόνα θα δείτε την παραμετροποίηση της προβολής colors1. 




Τη Παρασκευή, 5 Οκτωβρίου 2018 - 12:23:13 μ.μ. UTC+3, ο χρήστης Ivan Ioannis Stragalis έγραψε:

Anthimos Zachariadis

unread,
Oct 15, 2018, 12:41:52 PM10/15/18
to so...@googlegroups.com
Καλησπέρα,
εμείς χρησιμοποιούμε advanced javascript για δημιουργήσουμε παραστατικό ανά ΧΜ χωρίς χαρακτηριστικά στην γραμμή (με XM σε grid )

Το JS είναι το εξής

function createSaldoc(obj)
{
                if (checkClientId(obj)){                  
                                                var resp={};                        
                                                var i = 0;
                                                var j = 0;
                                                var          sal = X.CreateObj("SALDOC");
                                                try{                         
                                                                
                                                                sal.DBInsert;
                                                                var fins = sal.FindTable("FINDOC");
                                                                var lines = sal.FindTable("ITELINES");
                                                                var vanal = sal.FindTable("VQTYANAL");
var mtrdocs = sal.FindTable("MTRDOC");
                                                                
                                                                fins.Series = obj.Series;
                                                                fins.Trdr=obj.Trdr;
fins.Payment=obj.Payment;
fins.remarks= obj.remarks;
                                                               
mtrdocs.shippingaddr= obj.shippingaddr;
mtrdocs.shpzip= obj.shpzip;
mtrdocs.shpdistrict= obj.shpdistrict;
mtrdocs.shpcity= obj.shpcity;
                                                                
                                                                for(i=0; i< obj.Mtrlines.length; i++){
                                                                                lines.Append;                                                                    
                                                                                lines.Mtrl = obj.Mtrlines[i].Mtrl;
                                                                                
                                                                                if(obj.Mtrlines[i].XM.length>0){
                                                                                
                                                                                                for(j=0; j < obj.Mtrlines[i].XM.length; j++){
                                                                                                                vanal.Append;
                                                                                                                vanal.MTRLINES=lines.MTRLINES;
                                                                                                                vanal.CDIMLINES1=obj.Mtrlines[i].XM[j].CDIMLINES1;
                                                                                                                vanal.CDIMLINES2=obj.Mtrlines[i].XM[j].CDIMLINES2;
                                                                                                                vanal.QTY1=obj.Mtrlines[i].XM[j].QTY1;
                                                                                                                vanal.Post;
                                                                                                }
                                                                                                sal.EVAL("IteLineAnal.SumQAnal(" + lines.MTRLINES + ",'QTY1')");                                                                                                
                                                                                                
                                                                                }else{
                                                                                                lines.Qty1 = obj.Mtrlines[i].Qty1;                             
                                                                                                
                                                                                }
                                                                                                                                                
                                                                                lines.Post;
                                                                }
                                                                
                                                                                
                                                                var newid = sal.DBPost;
                                                                resp.success=true;
                                                                
                                                                resp.id = newid;
                                                                
                                                }catch(e){
                                                                resp.success=false;
                                                                resp.error = e;                                                   
                                                }finally{
                                                                sal.FREE;
                                                                sal = null;
                                                }                                              
                                                
                                                return resp;
                                }              
                                else {
                                                return responseError(obj);
                                }
}


Ενώ το call είναι αυτής της μορφής


{  "clientID": "9J8pGcvO...DK9LT5ybDKLvHG",  "Series": "8090",  "Trdr": "75",  "Payment": "2",   "shippingaddr":"Ερμού 34",  "shpzip":"55132",  "shpdistrict":"Κέντρο",  "shpcity":"Θεσσαλονίκη",  "remarks": "σχολια ....", "Mtrlines": [    {      "Mtrl": "2219",      "Qty1": "0",      "XM": [        {          "QTY1": "1",          "CDIMLINES1": "11",          "CDIMLINES2": "16"        },        {          "QTY1": "7",          "CDIMLINES1": "11",          "CDIMLINES2": "15"        }      ]    },    {      "Mtrl": "74632",      "Qty1": "99",      "XM": []    }  ] }

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

φιλικά

Άνθιμος Ζαχαριάδης

Msc Πληροφοριακών Συστημάτων Παν. Μακεδονίας

Verus+ Συστήματα Πληροφορικής και Ανάπτυξης

Γ.Γεννηματά 23, Άγιος Ιωάννης, Καλαμαριά, Θεσσαλονίκη, Τ.Κ. 55132

Τ:  2310 45 22 62 | 2311 11 63 11 F: 2311 11 64 11   M:6972 77 10 24

zacha...@verusplus.com, www.verusplus.com

P please consider the environment - do you really need to print this email?


--
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/d/optout.

indat...@gmail.com

unread,
Feb 7, 2019, 3:00:43 AM2/7/19
to Softone Developers Network
@Anthimos Zachariadis

Νομίζω ότι είναι πάρα πολύ καλή η προσέγγιση με τον τρόπο που περιγράφεις.

Γενικά το πρόβλημα στην αποστολή γραμμών με χρώμα-μέγεθος στο Api, θεωρώ πως είναι
ο υπολογισμός της συν. ποσότητας της γραμμής, (IteLineAnal.SumQAnal(ITELINES.MTRLINES,'QTY1'))).
Προσπάθησα να φτιάξω μια προβολή στο SoftOne η οποία ήθελα στην καταχώρηση της γραμμής να μου κάνει αυτό:
ON _ITELINES_POST(){  (IteLineAnal.SumQAnal(ITELINES.MTRLINES,'QTY1')))  }
ενώ ταυτόχρονα στο Json της setData χρησιμοποιούσα και το "FORM" : "MyForm" 
αλλά τελικά δεν έπαιξε.

Μια απορία που έχω στην προσέγγιση σου είναι το  πως περνάς στο Obj της createSaldoc(obj) τα data του Request,
ή θέτοντας το διαφορετικά πως καλείς το Advanced JS μέσω Web Services?

kko

unread,
Feb 8, 2019, 6:58:50 AM2/8/19
to Softone Developers Network

Anthimos Zachariadis

unread,
Feb 11, 2019, 3:01:17 PM2/11/19
to so...@googlegroups.com
Καλησπέρα,
Όπως ανέφερε και ο συνάδελφος η σύνταξη για το POST είναι η εξής:


Ειρήνη Μασούρα

unread,
Jul 7, 2022, 5:06:44 PM7/7/22
to Softone Developers Network
Καλησπέρα σε όλους,
στέλνω το εξής json:
    'CLIENTID': 'xxx', 
    'APPID': 'yyy',
     'SERVICE': 'SetData', 
    'OBJECT': 'SALDOC', 
     'KEY': '', 'FORM': '', 
     'DATA': {'
             SALDOC': [{'
                   SERIES': '11023',
                   'TRDR': '1054', 
                  'PAYMENT': '1000',
                  'REMARKS': '',
                 'VARCHAR02': ''}
           ], 
          'ITELINES': [{
                   'LINENUM': 1, 
                   'VAT': '1410', 
                   'MTRUNIT4': '100',
                   'MTRCATEGORY': '1', 
                    'MTRL': 19496, 
                    'QTY1': 1, 
                    'PRICE': 11.2, 
                   'CDIMNO1': '4', 
                   'CDIM1': '2021'}
           ],
   'MTRDOC': {
              'SHIPPINGADDR': 'καπου Aitolo',
              'SHPZIP': '14568',
             'SHPDISTRICT': 'Άρτας', 
             'SHPCITY': 'Arta'
      }, 
    'SRVLINES': []
   }
}

και λαμβάνω  'ΠΡΟΣΟΧΗ! Δεν έχει καταχωρηθεί κύρια ποσότητα για το είδος 20.01.023.01/001!'
Δοκίμασα και χωρίς το CDIM1, με QTY αντί για QTY1, και πάλι.

Το SOANAL σε αντίστοιχη παραγγελία όταν τη λαμβάνω από το webservice ειναι:
'2021;0;0;4|0|0|1|1||1|||||~'

Φαντάζεται κανείς τι μπορεί να είναι λάθος;
Ευχαριστώ!

Eddie Armaos

unread,
Jul 7, 2022, 5:38:01 PM7/7/22
to so...@googlegroups.com
Kalispera

i can see a possible error here:

          'ITELINES': [{
                   'LINENUM': 1, 

According to blackbook (page 481) : "For each line added don't forget to add data to the field LINENUM using numbers greater than 9000000"

So your first line must be "LINENUM": 9000001, next one "LINENUM": 9000002, etc

Kind regards

Eddie Armaos



Για να κάνετε προβολή αυτής της συζήτησης στον ιστό, επισκεφτείτε τη διεύθυνση https://groups.google.com/d/msgid/soft1/2f9b8341-b628-49a0-a518-3d8d28cc2afan%40googlegroups.com.

Xarilaos D

unread,
Jul 8, 2022, 2:20:49 AM7/8/22
to Softone Developers Network
Καλησπέρα,
Θα πρέπει στο είδος και να έχει συμπληρωμένα τα παρακάτω.
Το συγκεκριμένο είναι το σχέση με κύρια που πρέπει να βάλεις ποσότητα, αλλά γενικός θα πρέπει να είναι και οι προτεινόμενες γιατί θα το συναντήσεις αλλού.
item.png

Kostas Panouklias

unread,
Jul 8, 2022, 2:35:58 AM7/8/22
to Softone Developers Network
Καλημέρα σας.

Προσθέστε στις παραμέτρους του objet το παρακάτω (σε κόκκινο).
Προσοχή θέλει προβολή που στις γραμμές να υπάρχουν οι διαστάσεις 
Σε διαφορετική περίπτωση πρέπει να συνταχθεί διαφορετικά (με τον πίνακα vqtyanal)

{
'CLIENTID': 'xxx',
'APPID':    'yyy',
'SERVICE':  'SetData',
'OBJECT':   'SALDOC',
'KEY':            '',
"FORM":     "SFA_XM",
"OBJECTPARAMS":  {
"IMPORT": "1",
"CSCOLUMNS": "1"
 },
....

Δοκιμάστε και παρακαλώ όπως μας αποστείλετε feedBack για την ορθή ή όχι λειτουργία.
Στην διάθεσή σας.

Κωνσταντίνος Πανουκλιάς
Soft1 R&D Director
E: p...@softone.gr
T: +30 211 1022222 (2218) F: +30 210 9484094
Αχιλλέως 8 & Λ. Κατσώνη, 176 74 Καλλιθέα
www.softone.gr
facebook linked in twitter youtube

This email and all attachments are confidential and are intended solely for use by the individual to whom this email is addressed unless otherwise noted. If you are not the named addressee you should not use, print, disclose, distribute or copy this e-mail or take any action in reliance on its contents. Any views, opinions and content expressed or contained herein are solely those of the sender and do not necessarily represent SoftOne Technologies S.A. nor conclude any binding agreement on behalf of SoftOne Technologies S.A. | 8 Achilleos & L. Katsoni Str., 176 74, Kallithea



From: so...@googlegroups.com <so...@googlegroups.com> on behalf of Xarilaos D <xari...@gmail.com>
Sent: 08 July 2022 09:20
To: Softone Developers Network <so...@googlegroups.com>
Subject: Re: Δημιουργία παραστατικού με χρώμα / μέγεθος με web service
 
Για να κάνετε προβολή αυτής της συζήτησης στον ιστό, επισκεφτείτε τη διεύθυνση https://groups.google.com/d/msgid/soft1/c0cfe8cd-1b87-44b8-afa9-1c8b2e649e85n%40googlegroups.com.

Kostas Panouklias

unread,
Jul 8, 2022, 2:41:54 AM7/8/22
to Softone Developers Network
Παραθέτω μια ολοκληρωμένη κλήση για να υπάρχει...
Στο LOCATEINFO πρόσθεσα πεδία του itelines για να τα βλέπουμε στο response 

{
    "OBJECT""SALDOC",
    "clientID""xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "appId""xxx",     "LOCATEINFO""ITELINES:LINENUM,MTRL,MTRL_ITEM_CODE,VAT,CDIMNO1,CDIMNO2,CDIMNO3",
    "SERVICE""setData",
    "FORM""FORM_XM",
    "OBJECTPARAMS": {
        "IMPORT""1",
        "CSCOLUMNS""1"
    },
    "KEY""",
    "data": {
        "SALDOC": [
            {
                "SERIES""7062",
                "TRDR""32"
            }
        ],
        "ITELINES": [            
            {
                "LINENUM"1,
                "MTRL"14789,
                "QTY1"1,
                "CDIMNO1"1,
                "CDIMNO2"2,
                "PRICE""10.00",
                "VAT"1170
            },
            {
                "LINENUM"1,
                "MTRL"14789,
                "QTY1"1,
                "CDIMNO1"2,
                "CDIMNO2"3,
                "PRICE""10.00",
                "VAT"1170
            }
        ]
    }
}


Κωνσταντίνος Πανουκλιάς
Soft1 R&D Director
E: p...@softone.gr
T: +30 211 1022222 (2218) F: +30 210 9484094
Αχιλλέως 8 & Λ. Κατσώνη, 176 74 Καλλιθέα
www.softone.gr
facebook linked in twitter youtube

This email and all attachments are confidential and are intended solely for use by the individual to whom this email is addressed unless otherwise noted. If you are not the named addressee you should not use, print, disclose, distribute or copy this e-mail or take any action in reliance on its contents. Any views, opinions and content expressed or contained herein are solely those of the sender and do not necessarily represent SoftOne Technologies S.A. nor conclude any binding agreement on behalf of SoftOne Technologies S.A. | 8 Achilleos & L. Katsoni Str., 176 74, Kallithea



From: so...@googlegroups.com <so...@googlegroups.com> on behalf of Kostas Panouklias <p...@softone.gr>
Sent: 08 July 2022 09:35
Για να κάνετε προβολή αυτής της συζήτησης στον ιστό, επισκεφτείτε τη διεύθυνση https://groups.google.com/d/msgid/soft1/DB7PR05MB570747E86187081BB505A5AFD7829%40DB7PR05MB5707.eurprd05.prod.outlook.com.

Kostas Panouklias

unread,
Jul 8, 2022, 2:42:50 AM7/8/22
to Softone Developers Network
Ορθή επανάληψη


                "LINENUM"2,
                "MTRL"14789,
                "QTY1"1,
                "CDIMNO1"2,
                "CDIMNO2"3,
                "PRICE""10.00",
                "VAT"1170
            }
        ]
    }
}



Κωνσταντίνος Πανουκλιάς
Soft1 R&D Director
E: p...@softone.gr
T: +30 211 1022222 (2218) F: +30 210 9484094
Αχιλλέως 8 & Λ. Κατσώνη, 176 74 Καλλιθέα
www.softone.gr
facebook linked in twitter youtube

This email and all attachments are confidential and are intended solely for use by the individual to whom this email is addressed unless otherwise noted. If you are not the named addressee you should not use, print, disclose, distribute or copy this e-mail or take any action in reliance on its contents. Any views, opinions and content expressed or contained herein are solely those of the sender and do not necessarily represent SoftOne Technologies S.A. nor conclude any binding agreement on behalf of SoftOne Technologies S.A. | 8 Achilleos & L. Katsoni Str., 176 74, Kallithea



From: Kostas Panouklias <p...@softone.gr>
Sent: 08 July 2022 09:41

Ειρήνη Μασούρα

unread,
Jul 8, 2022, 7:30:24 AM7/8/22
to Softone Developers Network
Θέλω να σας ευχαριστήσω όλους για τη βοήθεια.  Λειτούργησε μια χαρα!

Έφτιαξα μία φόρμα όπως αναφέρει ο κ.   bill.va...@gmail.com.
Χρησιμοποίησα το πρότυπο του κ. Κωνσταντίνου Πανουκλιά 
Πρόσθεσα τα πεδία SERIES':   
                'FRPMS': '7023', 
                 'BRANCH': 1001, 
                 'WHOUSE': 1001,
                'PAYMENT': 1005, 
                 'SHIPMENT': 1000

Σας στέλνω το json:

{
       'OBJECT': 'SALDOC', 
        'clientID': 'χχχ ',
        appId': 'ψψψ', 
        'LOCATEINFO': 'ITELINES:LINENUM,MTRL,MTRL_ITEM_CODE,VAT,CDIMNO1,CDIMNO2,CDIMNO3', 
        'SERVICE': 'setData', 
        'FORM': 'ls_sales_eshop', 
        'OBJECTPARAMS': 
                {
                     'IMPORT': '1', 
                     'CSCOLUMNS': '1'
                }, 
        'KEY': '', 
        'data': {
            'SALDOC': [
                   {
                       'SERIES': '11023', 
                       'FRPMS': '7023', 
                       'BRANCH': 1001, 
                       'WHOUSE': 1001, 
                       'TRDR': '1054', 
                       'PAYMENT': 1005, 
                       'SHIPMENT': 1000
                  }
            ], 
            'ITELINES': [
                       {
                              'LINENUM': '1', 
                              'MTRL': '19496', 
                              'QTY1': '1', 
                              'CDIMNO1': 4, 
                              'PRICE': '11.2', 
                              'VAT': '1410'
                       }
              ]
      }
}


Reply all
Reply to author
Forward
0 new messages