26 Eylül 2013 Perşembe

LOGO TIGER OBJECT DLL KULLANARAK İRSALİYE EKLEMEK



         //   UnityApp.LogoDB("LOGODB.CFG");

            UnityApp = new UnityApplication();
            UnityApp.Login("LOGO", "", 1,0);
            if (!UnityApp.Connected)
            {
                MessageBox.Show(UnityApp.GetLastErrorString());
                UnityApp.Disconnect();
                UnityApp = null;
                System.GC.Collect();
            }
            else
            {
                DataTable dt_header = get_grouped_data(_dt, "SIPARIS_REFERANS", "TARIH", "CARI_KOD");
                for (int i = 0; i < dt_header.Rows.Count; i++)
                {
                    try
                    {
                        #region Baslık Bilgileri
                        UnityObjects.IData irsaliye = UnityApp.NewDataObject(DataObjectType.doPurchDispatch);
                        irsaliye.New();
                        irsaliye.DataFields.FieldByName("TYPE").Value = "1";
                        irsaliye.DataFields.FieldByName("NUMBER").Value = "~";
                        DateTime fistarihi = Convert.ToDateTime(dt_header.Rows[i]["TARIH"]);
                        irsaliye.DataFields.FieldByName("DATE").Value = fistarihi.ToString("dd.MM.yyyy");
                        int l_time = 0 + (256 * 00) + (65536 * fistarihi.Minute) + (16777216 * fistarihi.Hour);
                        irsaliye.DataFields.FieldByName("TIME").Value = l_time;
                        irsaliye.DataFields.FieldByName("ARP_CODE").Value = dt_header.Rows[i]["CARI_KOD"];
                        //satis_irsaliye.DataFields.FieldByName("SOURCE_WH").Value         = "1"; //Ambar No
                        //satis_irsaliye.DataFields.FieldByName("SOURCE_COST_GRP").Value   = "1"; //Ambar Maliyet Grubu
                        irsaliye.DataFields.FieldByName("CURRSEL_TOTALS").Value = "1";
                        irsaliye.DataFields.FieldByName("DISP_STATUS").Value = "1";
                        irsaliye.DataFields.FieldByName("DOC_TRACK_NR").Value = "Kobit"; //Döküman İzleme No
                        //satis_irsaliye.DataFields.FieldByName("NOTES1").Value            = ""; //Açıklama Satırı 1
                        //satis_irsaliye.DataFields.FieldByName("NOTES2").Value            = ""; //Açıklama Satırı 2
                        //satis_irsaliye.DataFields.FieldByName("NOTES3").Value            = ""; //Açıklama Satırı 3
                        //satis_irsaliye.DataFields.FieldByName("NOTES4").Value            = ""; //Açıklama Satırı 4
                        //satis_irsaliye.DataFields.FieldByName("DOC_NUMBER").Value        = ""; //Belge No
                        //satis_irsaliye.DataFields.FieldByName("AUTH_CODE").Value         = ""; //Yetki Kodu
                        //satis_irsaliye.DataFields.FieldByName("AUXIL_CODE").Value        = ""; //Özel Kod
                        //satis_irsaliye.DataFields.FieldByName("GL_CODE").Value           = ""; //Muhasebe Kodu
                        #endregion

                        #region Satır Bilgileri
                        UnityObjects.Lines irsaliye_satir = irsaliye.DataFields.FieldByName("TRANSACTIONS").Lines;

                        DataView dv_temp = new DataView(_dt);
                        dv_temp.RowFilter = "SIPARIS_REFERANS = " + dt_header.Rows[i]["SIPARIS_REFERANS"].ToString();
                        DataTable dt_rows = dv_temp.ToTable();

                        for (int k = 0; k < dt_rows.Rows.Count; k++)
                        {
                            if (irsaliye_satir.AppendLine())
                            {
                                irsaliye_satir[irsaliye_satir.Count - 1].FieldByName("TYPE").Value = "0";
                                irsaliye_satir[irsaliye_satir.Count - 1].FieldByName("MASTER_CODE").Value = dt_rows.Rows[k]["STOK_KODU"];
                                irsaliye_satir[irsaliye_satir.Count - 1].FieldByName("QUANTITY").Value = dt_rows.Rows[k]["MIKTAR"];
                                irsaliye_satir[irsaliye_satir.Count - 1].FieldByName("UNIT_CODE").Value = "KG";
                                irsaliye_satir[irsaliye_satir.Count - 1].FieldByName("UNIT_CONV1").Value = "1";
                                irsaliye_satir[irsaliye_satir.Count - 1].FieldByName("UNIT_CONV2").Value = "1";
                                //satis_irsaliye_satir[satis_irsaliye_satir.Count - 1].FieldByName("SOURCEINDEX").Value   = "1"; //Ambar No (Satır)
                                //satis_irsaliye_satir[satis_irsaliye_satir.Count - 1].FieldByName("SOURCECOSTGRP").Value = "1"; //Ambar Maliyet Grubu (Satır)";
                                irsaliye_satir[irsaliye_satir.Count - 1].FieldByName("ORDER_REFERENCE").Value = dt_rows.Rows[k]["SATIR_REFERANS"]; //Sipariş Satır Referansı
                                irsaliye_satir[irsaliye_satir.Count - 1].FieldByName("VARIANTCODE").Value = dt_rows.Rows[k]["VARYANT"];
                                double miktar = 0;
                                double.TryParse(dt_rows.Rows[k]["MIKTAR"].ToString(), out miktar);
                                irsaliye_satir.AddSeriLots(dt_rows.Rows[k]["LOT_KODU"].ToString(), miktar);

                            }
                        }
                        #endregion


                        if (irsaliye.Post())
                        {
                            string irsaliyeno = irsaliye.DataFields.FieldByName("NUMBER").Value;
                            lst_log.Items.Add(irsaliyeno + " numaralı irsaliye eklendi.");
                            satir_aktarildi();
                        }
                        else
                        {
                            if (irsaliye.ValidateErrors.Count > 0)
                            {
                                for (int j = 0; j < irsaliye.ValidateErrors.Count; j++)
                                {
                                    lst_log.Items.Add(irsaliye.ValidateErrors[j].Error + " - " + irsaliye.ValidateErrors[j].ID.ToString());
                                }
                            }
                            else
                            {
                                lst_log.Items.Add(irsaliye.ErrorDesc + " - Hata Kodu : " + irsaliye.ErrorCode.ToString());
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        lst_log.Items.Add(ex.Message);
                    }
                }
                UnityApp.Disconnect();
                UnityApp = null;
                System.GC.Collect();
            }
        }

6 yorum:

  1. Şeref Bey,

    Kodları Vb.net olarak vermeniz mümkün mü? Teşekkürler

    YanıtlaSil
  2. Güzel bilgi teşekür ederiz.satış irsaliyesi oluşturduk fakat güncellemesini nasıl yaparız?

    YanıtlaSil
  3. doPurchDispatch yerine doSalesDispatch tiger3 için kullanıyorum ben

    YanıtlaSil
  4. Merhaba,
    Delphi ile ilgili örnek var mı?

    YanıtlaSil