Kişi bilgileri gizlidir. Logo çalışanları görebilir.

LObjects - Fatura Aktarımı Hk.

  Tiger/Logo Objects

Merhabalar,


Object ile fatura aktarımı test etmekteyim. Postman kullanarak JSON formattaki datayı Object ile Tiger'a aktarmaktayım. Faturanın üst başlıklarındaki datayı okuyabilmekteyim fakat satırlardaki değerler NULL olarak gelmektedir. Aşağıda kod bloklarını ve ekranları paylaşmaktayım.


public string createInvoice(List<Invoice2> Invoice2)
 {

 if (!uapp.Login("LOGO", "159951123", 321))
 {
 return "Giriş sağlanamadı";
 }

 try
 {
 foreach (var item in Invoice2)
 {
 UnityObjects.Data invoice = uapp.NewDataObject(UnityObjects.DataObjectType.doSalesInvoice);
 invoice.New();
 invoice.DataFields.FieldByName("NUMBER").Value = "~";
 invoice.DataFields.FieldByName("TYPE").Value = 8;
 invoice.DataFields.FieldByName("DATE").Value = "01.10.2021";
 invoice.DataFields.FieldByName("ARP_CODE").Value = "STC-001";
 invoice.DataFields.FieldByName("CURRSEL_TOTALS").Value = 1;

 UnityObjects.Lines lines = invoice.DataFields.FieldByName("TRANSACTIONS").Lines;
 lines.AppendLine();
 lines[lines.Count - 1].FieldByName("TYPE").Value = 0;
 lines[lines.Count - 1].FieldByName("MASTER_CODE").Value = item.MASTER_CODE;
 lines[lines.Count - 1].FieldByName("QUANTITY").Value = item.QUANTITY;
 lines[lines.Count - 1].FieldByName("PRICE").Value = item.PRICE;
 lines[lines.Count - 1].FieldByName("UNIT_CODE").Value = item.UNIT_CODE;
 lines[lines.Count - 1].FieldByName("UNIT_CONV1").Value = 1;
 lines[lines.Count - 1].FieldByName("UNIT_CONV2").Value = 1;
 lines[lines.Count - 1].FieldByName("EDT_CURR").Value = 1;

 if (invoice.Post())
 {
 response = "Fatura aktarılmıştır..";
 }
 else
 {
 if (invoice.ErrorCode != 0)
 {
 response = ("DBError(" + invoice.ErrorCode.ToString() + ")-" + invoice.ErrorDesc + invoice.DBErrorDesc);
 }
 else if (invoice.ValidateErrors.Count > 0)
 {
 string result = "XML ErrorList:";

 for (int i = 0; i < invoice.ValidateErrors.Count; i++)
 {
 result += "(" + invoice.ValidateErrors[i].ID.ToString() + ") - " + invoice.ValidateErrors[i].Error;
 }
 response = (result);
 }
 }

 }


 }

Add - New Item adımlarını takip ederek Invoice2 class'ı eklenmiştir.

public class Invoice2 
 {
 [DataMember]
 public string NUMBER { get; set; }
 [DataMember]
 public string TYPE { get; set; }
 [DataMember]
 public string DATE { get; set; }
 [DataMember]
 public string ARP_CODE { get; set; }
 [DataMember]
 public string CURRSEL_TOTALS { get; set; }
 [DataMember]
 public string ITYPE { get; set; }
 [DataMember]
 public string MASTER_CODE { get; set; }
 [DataMember]
 public int QUANTITY { get; set; }
 [DataMember]
 public int PRICE { get; set; }
 [DataMember]
 public string UNIT_CODE { get; set; }
 }

Postman'da JSON formatı aşağıdaki gibidir.

[
 { 
 "NUMBER":"STC-F-100521",
 "DATE":"01.10.2021",
 "ARP_CODE":"STC-001",
 "TRANSACTIONS": {
 "items": [
 { 
 "TYPE": 0,
 "MASTER_CODE": "MLZ-001",
 "QUANTITY": 1.0,
 "PRICE": 300.0,
 "UNIT_CODE": "ADET"
 }
 ]
 }
 } 
]

NULL değer aldığım işlem adımını aşağıda paylaşıyorum.


2021-10-07 14_40_27-_RestService (Debugging) - Microsoft Visual Studio.png






Cevap vermek için giriş yapmanız gerekmektedir.