Logo Object.dll kullanarak Logo Tiger veya Unity veritabanına sipariş ve detay satırları eklemek.(Adding order and order details into logo tiger database using logo object.dll)


 

try

            {

                UnityApplication uApp = new UnityApplication();

                if (uApp.Connect())

                {

                    if (uApp.UserLogin(dbKullaniciKodu, dbParola))

                    {

                        if (uApp.CompanyLogin(GecerliFirmaNo, AktifDonemNo))

                        {

                            UnityObjects.Data siparis = uApp.NewDataObject(DataObjectType.doPurchOrderSlip);

                            siparis.Read(sipUstRef);

                            Lines detay = siparis.DataFields.FieldByName("TRANSACTIONS").Lines;

                            //****************************************

                            detay.AppendLine();

                            //*****

                            int canconfig = 0;

                            if (VaryantKodu == "") { canconfig = 0; }

                            else

                            { canconfig = 1; }

                            //*****

                            detay[detay.Count - 1].FieldByName("TYPE").Value = 0; // Mal

                            detay[detay.Count - 1].FieldByName("MASTER_CODE").Value = StokKodu;

                            ////TODO:ürün grubu varyantlıysa değiştir.

                            detay[detay.Count - 1].FieldByName("CANCONFIG").Value = canconfig;

                            detay[detay.Count - 1].FieldByName("VARIANTCODE").Value = VaryantKodu;

                            detay[detay.Count - 1].FieldByName("QUANTITY").Value = YeniMiktar;

                            detay[detay.Count - 1].FieldByName("PRICE").Value = BirimFiyat;

                            detay[detay.Count - 1].FieldByName("UNIT_CODE").Value = BirimKodu;

                            detay[detay.Count - 1].FieldByName("VAT_RATE").Value = Kdv;

                            detay[detay.Count - 1].FieldByName("VAT_INCLUDED").Value = KdvDahil;

                            detay[detay.Count - 1].FieldByName("TRANS_DESCRIPTION").Value = SatirAciklamasi;

                            detay[detay.Count - 1].FieldByName("DUE_DATE").Value = YeniTermin;

                            detay[detay.Count - 1].FieldByName("UNIT_CONV1").Value = 1;

                            detay[detay.Count - 1].FieldByName("UNIT_CONV2").Value = 1;

                            detay[detay.Count - 1].FieldByName("SOURCE_WH").Value = AmbarNo;

                            detay[detay.Count - 1].FieldByName("SOURCE_COST_GRP").Value = AmbarNo;

                            detay[detay.Count - 1].FieldByName("DIVISION").Value = DivNo;

                            detay[detay.Count - 1].FieldByName("FACTORY").Value = FacNo;


                            //********

                            ValidateErrors err = siparis.ValidateErrors;

                            string snc = "";

                            if (siparis.Post())

                            {

                                snc = "Yeni Ayrıntı Satırı Eklendi ";

                                Alert.Show(snc);

                                return true;

                            }

                            else

                            {

                                snc = "Fault: ";

                                if (siparis.ErrorCode != 0)

                                {

                                    snc = snc + siparis.ErrorCode.ToString() + siparis.ErrorDesc + "\n";


                                    for (int e = 0; e < err.Count; e++)

                                        snc = snc + err[e].Error + "\n";

                                    Alert.Show(snc);


                                    Alert.Show("Yeni Ayrıntı Satırı Ekleme Sırasında Problem");

                                    return false;

                                }

                            }


                        }

                        else { return false; }

                    }

                    else { return false; }

                }

                else { return false; }

                return true;

            }

            catch (Exception ex)

            { Alert.Show(ex.Message); return false; }

        }

Yorumlar