ma

Fiş satırlarını güncelleme

  Tiger/REST

Merhaba.

Logo obje ile irsaliye fişinin sadece tek satırında değişiklik (silme - değiştirme) yapmak istiyorum. Bu işlem için tüm satırları yükleyip mi işlem yapmam gerekiyor yoksa sadece tek satırı yükleyip onun üzerinde işlem yapma şansım varmıdır.


Logo Objects LObjects


NaciO

Logo Objects ile data nesnesi üzerinden işlem yapabilirsiniz. Data nesnesi, ilgili kart veya fişin tamamını kapsamaktadır. Yani, fişin tek bir satırında işlem yapmak istiyor olsanız bile fişin tamamını okumalı ve akabinde ilgili satır üzerinde işlem yapmalısınız.

Aşağıdaki kod örneğinde daha önce kaydedilmiş bir fatura okunarak bu faturayla ilgili satır ekleme, silme ve güncelleme işlemleri yapılıyor;

       public static void UpdateInvoiceLines()
        {
            int invoiceRef = 38;

            UnityObjects.Data invoice = Global.UnityApp.NewDataObject(UnityObjects.DataObjectType.doSalesInvoice);
            if (invoice.Read(invoiceRef))
            {
                // Okunan faturanın verisini almak               
                MessageBox.Show(invoice.DataFields.FieldByName("NUMBER").Value.ToString());

                // Okunan faturanın ilk satır birim fiyatını değiştirmek
                UnityObjects.Lines invoiceLine = invoice.DataFields.FieldByName("TRANSACTIONS").Lines;
                invoiceLine[0].FieldByName("PRICE").Value = 1000;

                // Okunan faturaya yeni bir satır daha eklemek
                invoiceLine.AppendLine();
                invoiceLine[invoiceLine.Count - 1].FieldByName("TYPE").Value = 0;                   // Satır tipi (0 : Malzeme)
                invoiceLine[invoiceLine.Count - 1].FieldByName("SOURCEINDEX").Value = 0;            // Ambar numarası
                invoiceLine[invoiceLine.Count - 1].FieldByName("SOURCECOSTGRP").Value = 0;          // Ambar maliyet grubu
                invoiceLine[invoiceLine.Count - 1].FieldByName("MASTER_CODE").Value = "MALZEME.01"; // Malzeme Kodu
                invoiceLine[invoiceLine.Count - 1].FieldByName("QUANTITY").Value = 1;               // Miktar
                invoiceLine[invoiceLine.Count - 1].FieldByName("PRICE").Value = 1000;               // Fiyat
                invoiceLine[invoiceLine.Count - 1].FieldByName("CURR_PRICE").Value = 160;           // Para Birimi (CurrID)
                invoiceLine[invoiceLine.Count - 1].FieldByName("UNIT_CODE").Value = "ADET";         // Birim
                invoiceLine[invoiceLine.Count - 1].FieldByName("VAT_RATE").Value = 8;               // Satır KDV Oranı
                invoiceLine[invoiceLine.Count - 1].FieldByName("EDT_CURR").Value = 1;               // Dövizli para türü

                // Okunan faturanın 2. satırını silmek
                invoiceLine.DeleteLine(1); // index sıfırdan başladığı için 2.satır için 1 indexi kullanılıyor

                if (!invoice.Post())
                {
                    ErrorControl(invoice);
                }

            }
            else
            {
                MessageBox.Show("Fatura Okunamadı");
            }

        }

 


27/04/16 15:29

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