예제 #1
0
        protected Stream ExportByCompensationPayments(Requests.DownloadTaxInvoice taxInvoice)
        {
            MemoryStream ms = new MemoryStream();

            XmlWriterSettings settings = new XmlWriterSettings
            {
                Encoding = System.Text.Encoding.GetEncoding(1251),
                Indent   = true
            };

            XmlWriter writer = XmlWriter.Create(ms, settings);

            writer.WriteStartDocument();

            writer.WriteStartElement("ZVIT");       // start ZVIT element

            writer.WriteStartElement("TRANSPORT");  //start TRANSPORT
            writer.WriteElementString("CREATEDATE", taxInvoice.LiabilityDate.ToShortDateString());
            writer.WriteElementString("VERSION", "4.1");
            writer.WriteEndElement();        //end TRANSPORT

            writer.WriteStartElement("ORG"); //ORG stert

            writer.WriteStartElement("FIELDS");
            writer.WriteElementString("EDRPOU", taxInvoice.CompanyStateRegistryCode);
            writer.WriteEndElement(); // FIELDS end

            writer.WriteStartElement("CARD");

            writer.WriteStartElement("FIELDS");
            writer.WriteElementString("PERTYPE", "0");
            writer.WriteElementString("PERDATE", new DateTime(taxInvoice.LiabilityDate.Year, taxInvoice.LiabilityDate.Month, 1).ToShortDateString());
            writer.WriteElementString("CHARCODE", "J1201010");
            writer.WriteElementString("DOCID", Guid.NewGuid().ToString().ToUpper());
            writer.WriteEndElement();             // FIELDS end

            writer.WriteStartElement("DOCUMENT"); // DOCUMENT start

            WriteTabElement(writer, "N13", "1");
            WriteTabElement(writer, "N14", "02");
            WriteTabElement(writer, "FIRM_ADR", taxInvoice.CompanyAddress);
            WriteTabElement(writer, "FIRM_NAME", $"ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ \"ЖИТОМИРСЬКА ОБЛАСНА ЕНЕРГОПОСТАЧАЛЬНА КОМПАНІЯ\", { taxInvoice.BranchOfficeName }");
            WriteTabElement(writer, "FIRM_PHON", taxInvoice.CompanyTaxpayerPhone);
            WriteTabElement(writer, "N2_1", taxInvoice.Id + "/" + taxInvoice.BranchOfficeId);
            WriteTabElement(writer, "N2_13", taxInvoice.BranchOfficeId.ToString());
            WriteTabElement(writer, "N25", "1");
            WriteTabElement(writer, "N3", "Неплатник");
            WriteTabElement(writer, "N4", "100000000000");
            WriteTabElement(writer, "N10", taxInvoice.CompanyBookkeeperName);
            WriteTabElement(writer, "A5_7", taxInvoice.LiabilitySum.ToString().Replace(',', '.'));
            WriteTabElement(writer, "A6_7", taxInvoice.TaxSum.ToString("#.00").Replace(',', '.'));
            WriteTabElement(writer, "A6_11", taxInvoice.TaxSum.ToString("#.00").Replace(',', '.'));
            WriteTabElement(writer, "A7_7", taxInvoice.FullSum.ToString("#.00").Replace(',', '.'));
            WriteTabElement(writer, "A7_8", "0");
            WriteTabElement(writer, "A7_9", "0");
            WriteTabElement(writer, "A7_10", "0");
            WriteTabElement(writer, "A7_11", taxInvoice.FullSum.ToString("#.00").Replace(',', '.'));
            WriteTabElement(writer, "FIRM_INN", taxInvoice.CompanyTaxpayerNumber);
            WriteTabElement(writer, "N11", taxInvoice.LiabilityDate.ToShortDateString());
            WriteTabElement(writer, "N2_11", taxInvoice.Id.ToString());
            WriteTabElement(writer, "INN", taxInvoice.CompanyBookkeeperTaxNumber);
            WriteTabElement(writer, "FIRM_EDRPOU", taxInvoice.CompanyStateRegistryCode);
            WriteTabElement(writer, "EDRPOU", taxInvoice.CompanyStateRegistryCode);
            WriteTabElement(writer, "PHON", taxInvoice.CompanyTaxpayerPhone);
            WriteTabElement(writer, "A7_71", "0");
            WriteTabElement(writer, "TAB1_A1", "I", "1");
            WriteTabElement(writer, "TAB1_A8", "20", "1");
            WriteTabElement(writer, "TAB1_A10", taxInvoice.LiabilitySum.ToString("#.00").Replace(',', '.'), "1");
            WriteTabElement(writer, "TAB1_A20", taxInvoice.TaxSum.ToString("#.000000").Replace(',', '.'), "1");
            WriteTabElement(writer, "TAB1_A13", "Компенсація за недотримання гарантованих стандартів якості надання послуг ОСР", "1");
            WriteTabElement(writer, "TAB1_A133", "35.13", "1");
            WriteTabElement(writer, "TAB1_A14", "грн", "1");
            WriteTabElement(writer, "TAB1_A141", "2454", "1");
            WriteTabElement(writer, "TAB1_A15", "1", "1");
            WriteTabElement(writer, "TAB1_A16", taxInvoice.LiabilitySum.ToString().Replace(',', '.'), "1");
            WriteTabElement(writer, "TAB1_A17", taxInvoice.LiabilitySum.ToString().Replace(',', '.'), "1");

            writer.WriteEndElement(); //DOCUMENT end

            writer.WriteEndElement(); // CARD end

            writer.WriteEndElement(); // ORG end

            writer.WriteEndElement(); // end ZVIT element;
            writer.WriteEndDocument();

            writer.Flush();

            return(ms);
        }
예제 #2
0
        protected Stream ExportByCustomerPayments(Requests.DownloadTaxInvoice taxInvoice)
        {
            MemoryStream ms = new MemoryStream();

            XmlWriterSettings settings = new XmlWriterSettings
            {
                Encoding = System.Text.Encoding.GetEncoding(1251),
                Indent   = true
            };

            XmlWriter writer = XmlWriter.Create(ms, settings);

            writer.WriteStartDocument();

            writer.WriteStartElement("ZVIT");       // start ZVIT element

            writer.WriteStartElement("TRANSPORT");  //start TRANSPORT
            writer.WriteElementString("CREATEDATE", taxInvoice.LiabilityDate.ToShortDateString());
            writer.WriteElementString("VERSION", "4.1");
            writer.WriteEndElement();        //end TRANSPORT

            writer.WriteStartElement("ORG"); //ORG stert

            writer.WriteStartElement("FIELDS");
            writer.WriteElementString("EDRPOU", taxInvoice.CompanyStateRegistryCode);
            writer.WriteEndElement(); // FIELDS end

            writer.WriteStartElement("CARD");

            writer.WriteStartElement("FIELDS");
            writer.WriteElementString("PERTYPE", "0");
            writer.WriteElementString("PERDATE", new DateTime(taxInvoice.LiabilityDate.Year, taxInvoice.LiabilityDate.Month, 1).ToShortDateString());
            writer.WriteElementString("CHARCODE", "J1201010");
            writer.WriteElementString("DOCID", Guid.NewGuid().ToString().ToUpper());
            writer.WriteEndElement();             // FIELDS end

            writer.WriteStartElement("DOCUMENT"); // DOCUMENT start

            WriteTabElement(writer, "N13", "1");
            WriteTabElement(writer, "N27", "4");
            WriteTabElement(writer, "N14", "02");
            WriteTabElement(writer, "FIRM_ADR", taxInvoice.CompanyAddress);
            WriteTabElement(writer, "FIRM_NAME", $"ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ \"ЖИТОМИРСЬКА ОБЛАСНА ЕНЕРГОПОСТАЧАЛЬНА КОМПАНІЯ\", { taxInvoice.BranchOfficeName }"); //");
            WriteTabElement(writer, "FIRM_PHON", taxInvoice.CompanyTaxpayerPhone);
            WriteTabElement(writer, "N2_1", taxInvoice.Id + "/" + taxInvoice.BranchOfficeId);
            WriteTabElement(writer, "N2_13", taxInvoice.BranchOfficeId.ToString());
            WriteTabElement(writer, "N25", "1");
            WriteTabElement(writer, "N3", "Неплатник");
            WriteTabElement(writer, "N4", "100000000000");
            WriteTabElement(writer, "N8", "Договір про постачання");
            WriteTabElement(writer, "N10", taxInvoice.CompanyBookkeeperName);
            WriteTabElement(writer, "A5_7", taxInvoice.LiabilitySum.ToString("#.00").Replace(',', '.'));
            WriteTabElement(writer, "A6_7", taxInvoice.TaxSum.ToString("#.00").Replace(',', '.'));
            WriteTabElement(writer, "A6_11", taxInvoice.TaxSum.ToString("#.00").Replace(',', '.'));
            WriteTabElement(writer, "A7_7", taxInvoice.FullSum.ToString("#.00").Replace(',', '.'));
            WriteTabElement(writer, "A7_8", "0");
            WriteTabElement(writer, "A7_9", "0");
            WriteTabElement(writer, "A7_10", "0");
            WriteTabElement(writer, "A7_11", taxInvoice.FullSum.ToString("#.00").Replace(',', '.'));
            WriteTabElement(writer, "FIRM_INN", taxInvoice.CompanyTaxpayerNumber);
            WriteTabElement(writer, "N11", taxInvoice.LiabilityDate.ToShortDateString());
            WriteTabElement(writer, "N2_11", taxInvoice.Id.ToString());
            WriteTabElement(writer, "INN", taxInvoice.CompanyBookkeeperTaxNumber);
            WriteTabElement(writer, "FIRM_EDRPOU", taxInvoice.CompanyStateRegistryCode);
            WriteTabElement(writer, "EDRPOU", taxInvoice.CompanyStateRegistryCode);
            WriteTabElement(writer, "N81", "1");
            WriteTabElement(writer, "N82", new DateTime(taxInvoice.LiabilityDate.Year, 1, 1).ToShortDateString());
            WriteTabElement(writer, "PHON", taxInvoice.CompanyTaxpayerPhone);
            WriteTabElement(writer, "A7_71", "0");
            WriteTabElement(writer, "TAB1_A1", "I", "1");
            WriteTabElement(writer, "TAB1_A8", "20", "1");
            WriteTabElement(writer, "TAB1_A10", taxInvoice.LiabilitySum.ToString("#.00").Replace(',', '.'), "1");
            WriteTabElement(writer, "TAB1_A20", taxInvoice.TaxSum.ToString("#.000000").Replace(',', '.'), "1");
            WriteTabElement(writer, "TAB1_A13", taxInvoice.Type == TaxInvoiceType.Gas ? "газ" : "електрична енергія", "1");
            WriteTabElement(writer, "TAB1_A131", taxInvoice.Type == TaxInvoiceType.Gas ? "2711210000" : "2716000000", "1");
            WriteTabElement(writer, "TAB1_A14", taxInvoice.Type == TaxInvoiceType.Gas ? "м³" : "кВт·год", "1");
            WriteTabElement(writer, "TAB1_A141", "0415", "1");
            WriteTabElement(writer, "TAB1_A15", taxInvoice.EnergyAmount.ToString(), "1");
            WriteTabElement(writer, "TAB1_A16", taxInvoice.TariffValue.ToString().Replace(',', '.'), "1");
            WriteTabElement(writer, "TAB1_A17", taxInvoice.LiabilitySum.ToString("#.00").Replace(',', '.'), "1");

            writer.WriteEndElement(); //DOCUMENT end

            writer.WriteEndElement(); // CARD end

            writer.WriteEndElement(); // ORG end

            writer.WriteEndElement(); // end ZVIT element;
            writer.WriteEndDocument();

            writer.Flush();

            return(ms);
        }
예제 #3
0
 public Stream Export(Requests.DownloadTaxInvoice taxInvoice) => taxInvoice.Type == TaxInvoiceType.CompensationDso ? ExportByCompensationPayments(taxInvoice) : ExportByCustomerPayments(taxInvoice);