Exemplo n.º 1
0
        internal bool Create(long DocInvoice_ID,
                             string gl1_Davcna_stevilka_zavezanca_za_davek,
                             string gl2_Stevilka_racuna,
                             DateTime InovoiceTime,
                             string gl5_Oznaka_Poslovne_Enote,
                             string gl6_Oznaka_Elektronske_Naprave,
                             ref string gl10_Obracunan_DDV_po_9_5,
                             ref string gl11_Obracunan_DDV_po_22,
                             ref DataTable Postavke,
                             ref cp_Items p)
        {
            XML_Postavka_List.Clear();
            string Err = null;
            decimal Obracunan_DDV_po_9_5 = 0;
            decimal Obracunan_DDV_po_22 = 0;
            string sql = @" select apsi.RetailSimpleItemPrice,
                                   apsi.RetailSimpleItemPriceWithDiscount,
                                   apsi.Discount,
                                   apsi.iQuantity,
                                   apsi.ExtraDiscount,
                                   apsi.TaxPrice,
                                    asin.Name as SimpleItem_Name,
                                    asin.Abbreviation as SimpleItem_Abbreviation,
                                    atax.Name,
                                    atax.Rate
                                    from atom_price_simpleitem  apsi
                                    inner join atom_simpleitem  asi on apsi.atom_simpleitem_ID = asi.ID
                                    inner join atom_simpleitem_name  asin on asi.atom_simpleitem_name_ID = asin.ID
                                    inner join Atom_Taxation atax on apsi.Atom_Taxation_ID = atax.ID
                                    where DocInvoice_ID = " + DocInvoice_ID.ToString();
            DataTable dt_simple_item_tax = new DataTable();
            if (DBSync.DBSync.ReadDataTable(ref dt_simple_item_tax, sql, ref Err))
            {
                SimpleItem_postavka(dt_simple_item_tax,
                                    gl1_Davcna_stevilka_zavezanca_za_davek,
                                    gl2_Stevilka_racuna,
                                    InovoiceTime,
                                    gl5_Oznaka_Poslovne_Enote,
                                    gl6_Oznaka_Elektronske_Naprave,
                                    ref Obracunan_DDV_po_9_5,
                                    ref Obracunan_DDV_po_22,
                                    ref Postavke,
                                    p
                                    );

                sql = @" select appis.TaxPrice,
                                ai.UniqueName,
                                appis.dQuantity,
                                api.RetailPricePerUnit,
                                appis.RetailPriceWithDiscount,
                                appis.ExtraDiscount,
                                api.Discount,
                                ain.Name as Item_Name,
                                atax.Name as Taxation_Name,
                                atax.Rate,
                                au.Name as UnitName
                                from atom_docinvoice_price_item_stock  appis
                                inner join atom_price_item api on appis.atom_price_item_ID = api.ID
                                inner join atom_item ai on api.atom_item_ID = ai.ID
                                inner join atom_unit au on ai.atom_unit_ID = au.ID
                                inner join atom_item_name ain on ai.atom_item_name_ID = ain.ID
                                inner join Atom_Taxation atax on api.Atom_Taxation_ID = atax.ID
                                where DocInvoice_ID = " + DocInvoice_ID.ToString();
                DataTable dt_item_tax = new DataTable();
                if (DBSync.DBSync.ReadDataTable(ref dt_item_tax, sql, ref Err))
                {

                    Item_Postavka(dt_item_tax,
                                   gl1_Davcna_stevilka_zavezanca_za_davek,
                                   gl2_Stevilka_racuna,
                                   InovoiceTime,
                                   gl5_Oznaka_Poslovne_Enote,
                                   gl6_Oznaka_Elektronske_Naprave,
                                   ref Obracunan_DDV_po_9_5,
                                   ref Obracunan_DDV_po_22,
                                   ref Postavke,
                                   p);

                    gl10_Obracunan_DDV_po_9_5 = fs.Decimal2String(Obracunan_DDV_po_9_5, 2);
                    gl11_Obracunan_DDV_po_22 = fs.Decimal2String(Obracunan_DDV_po_22, 2);

                    return true;
                }
                else
                {
                    LogFile.Error.Show("ERROR:TaxSum:Create:sql= " + sql + "\r\nErr=" + Err);
                    return false;

                }

            }
            else
            {
                LogFile.Error.Show("ERROR:TaxSum:Create:sql= " + sql + "\r\nErr=" + Err);
                return false;
            }
        }
Exemplo n.º 2
0
        private void SimpleItem_postavka(DataTable dt_simple_item_tax,
                                        string gl1_Davcna_stevilka_zavezanca_za_davek,
                                        string gl2_Stevilka_racuna,
                                        DateTime InvoiceTime,
                                        string gl5_Oznaka_Poslovne_Enote,
                                        string gl6_Oznaka_Elektronske_Naprave,
                                        ref decimal Obracunan_DDV_po_9_5,
                                        ref decimal Obracunan_DDV_po_22,
                                        ref DataTable dt_Postavke,
                                        cp_Items p
                                        )
        {
            int i = 0;
            int ic_SimpleItem_Name = dt_simple_item_tax.Columns.IndexOf("SimpleItem_Name");
            int ic_SimpleItem_Abbreviation = dt_simple_item_tax.Columns.IndexOf("SimpleItem_Abbreviation");
            int ic_iQuantity = dt_simple_item_tax.Columns.IndexOf("iQuantity");
            int ic_RetailSimpleItemPriceWithDiscount = dt_simple_item_tax.Columns.IndexOf("RetailSimpleItemPriceWithDiscount");
            int ic_RetailSimpleItemPrice = dt_simple_item_tax.Columns.IndexOf("RetailSimpleItemPrice");
            int ic_Discount = dt_simple_item_tax.Columns.IndexOf("Discount");
            int ic_ExtraDiscount = dt_simple_item_tax.Columns.IndexOf("ExtraDiscount");
            int ic_TaxPrice = dt_simple_item_tax.Columns.IndexOf("TaxPrice");
            int ic_Rate = dt_simple_item_tax.Columns.IndexOf("Rate");
            foreach (DataRow dr in dt_simple_item_tax.Rows)
            {
                i++;
                XML_Postavka dp = new XML_Postavka();
                dp.po1_Davcna_Stevilka = gl1_Davcna_stevilka_zavezanca_za_davek;
                dp.po2_Stevilka_Racuna = gl2_Stevilka_racuna;
                dp.po4_Oznaka_Poslovne_Enote = gl5_Oznaka_Poslovne_Enote;
                dp.po5_Oznaka_Elektronske_Naprave = gl6_Oznaka_Elektronske_Naprave;
                dp.po6_Zaporedna_stevilka_postavke_na_racunu = i.ToString();
                dp.po7_Oznaka_ali_sifra_blaga_oziroma_storitve = (string)dr[ic_SimpleItem_Abbreviation];
                dp.po8_Naziv_blaga_oziroma_storitve = (string)dr[ic_SimpleItem_Name];
                decimal dQuantity = Convert.ToDecimal((int)dr[ic_iQuantity]);
                dp.po9_Kolicina_blaga_oziroma_storitve = fs.Decimal2String(dQuantity, 2);
                dp.po10_Enota_mere_blaga_oziroma_storitve = "x";
                decimal calc_RetailPriceWithDiscount = 0;
                decimal calc_NetPrice = 0;
                decimal TaxPrice = 0;
                StaticLib.Func.CalculatePrice((decimal)dr[ic_RetailSimpleItemPrice], dQuantity, (decimal)dr[ic_Discount], (decimal)dr[ic_ExtraDiscount], (decimal)dr[ic_Rate], ref calc_RetailPriceWithDiscount, ref TaxPrice, ref calc_NetPrice, 2);
                decimal PricePerUnit = decimal.Round(calc_RetailPriceWithDiscount / dQuantity, 2);
                dp.po11_Cena_blaga_oziroma_storitve_na_enoto_mere_skupaj_z_DDV = fs.Decimal2String(PricePerUnit, 2);

                if ((decimal)dr[ic_Rate] == 0.095M)
                {
                    Obracunan_DDV_po_9_5 += (decimal)dr[ic_TaxPrice];
                    dp.po12_Obracunan_DDV_po_stopnji_9_5 = fs.Decimal2String(TaxPrice, 2);
                    dp.po13_Obracunan_DDV_po_stopnji_22 = "0,00";
                }
                else if ((decimal)dr[ic_Rate] == 0.22M)
                {
                    Obracunan_DDV_po_22 += (decimal)dr[ic_TaxPrice];
                    dp.po12_Obracunan_DDV_po_stopnji_9_5 = "0,00";
                    dp.po13_Obracunan_DDV_po_stopnji_22 = fs.Decimal2String(TaxPrice, 2);
                }
                else
                {
                    string sMsg = "Davčna Stopnja :" + ((decimal)dr[ic_Rate]).ToString() + " z imenom " + (string)dr["Taxation_Name"] + " ni podprta in veljavna v izpisih za XML!\r\n";
                    System.Windows.Forms.MessageBox.Show(frm_parent, sMsg);
                }

                DataRow dr_Postavka = dt_Postavke.NewRow();

                dr_Postavka[p.cp_Davcna_stevilka_zavezanca_za_davek] = dp.po1_Davcna_Stevilka;
                dr_Postavka[p.cp_Stevilka_Racuna] = dp.po2_Stevilka_Racuna;
                dr_Postavka[p.cp_Cas_Racuna] = InvoiceTime;
                dr_Postavka[p.cp_Oznaka_Poslovne_Enote] = dp.po4_Oznaka_Poslovne_Enote;
                dr_Postavka[p.cp_Oznaka_Elektronske_Naprave] = dp.po5_Oznaka_Elektronske_Naprave;
                dr_Postavka[p.cp_Zaporedna_stevilka_postavke_na_racunu] = i;
                dr_Postavka[p.cp_Oznaka_ali_sifra_blaga_oziroma_storitve] = dp.po7_Oznaka_ali_sifra_blaga_oziroma_storitve;
                dr_Postavka[p.cp_Naziv_blaga_oziroma_storitve] = dp.po8_Naziv_blaga_oziroma_storitve;
                dr_Postavka[p.cp_Kolicina_blaga_oziroma_storitve] = dQuantity;
                dr_Postavka[p.cp_Enota_mere_blaga_oziroma_storitve] = dp.po10_Enota_mere_blaga_oziroma_storitve;
                dr_Postavka[p.cp_Cena_blaga_oziroma_storitve_na_enoto_mere_skupaj_z_DDV] = PricePerUnit;
                dr_Postavka[p.cp_Obracunan_DDV_po_stopnji_9_5] = fs.String2Decimal(dp.po12_Obracunan_DDV_po_stopnji_9_5);
                dr_Postavka[p.cp_Obracunan_DDV_po_stopnji_22] = fs.String2Decimal(dp.po13_Obracunan_DDV_po_stopnji_22);
                dr_Postavka[p.cp_Zaporedna_stevilka_spremembe] = 0;
                dr_Postavka[p.cp_OPOMBE] = dp.po15_OPOMBE;

                dt_Postavke.Rows.Add(dr_Postavka);
                //dp.po14_Zoporedna_stevilka_spremembe = "";
                //dp.po15_OPOMBE = "";
                //s_postavka =
                //                    dp.po1_Davcna_Stevilka
                //            + ";" + dp.po2_Stevilka_Racuna
                //            + ";" + dp.po3_Datum_Racuna_DDMMLLLL
                //            + ";" + dp.po4_Oznaka_Poslovne_Enote
                //            + ";" + dp.po5_Oznaka_Elektronske_Naprave
                //            + ";" + dp.po6_Zaporedna_stevilka_postavke_na_racunu
                //            + ";" + dp.po7_Oznaka_ali_sifra_blaga_oziroma_storitve
                //            + ";" + dp.po8_Naziv_blaga_oziroma_storitve
                //            + ";" + dp.po9_Kolicina_blaga_oziroma_storitve
                //            + ";" + dp.po10_Enota_mere_blaga_oziroma_storitve
                //            + ";" + dp.po11_Cena_blaga_oziroma_storitve_na_enoto_mere_skupaj_z_DDV
                //            + ";" + dp.po12_Obracunan_DDV_po_stopnji_9_5
                //            + ";" + dp.po13_Obracunan_DDV_po_stopnji_22
                //            + ";" + dp.po14_Zoporedna_stevilka_spremembe
                //            + ";" + dp.po15_OPOMBE;

                //Postavke += s_postavka + "\r\n";

                XML_Postavka_List.Add(dp);
            }
        }