コード例 #1
0
        public void Parse_settings()
        {
            var parser = new Inforoom.PriceProcessor.Models.Parser("PulsRyazanParser", appSupplier);

            parser.Add("CODE", "Code");
            parser.Add("GOODE", "Product");
            parser.Add("PRODUCER", "Producer");
            parser.Add("COUNTRY", "Country");
            parser.Add("PRICE", "SupplierCost");
            parser.Add("QUANT", "Quantity");
            parser.Add("PPRICEWT", "ProducerCostWithoutNDS");
            parser.Add("DATEB", "Period");
            parser.Add("SERT", "Certificates");
            parser.Add("NDS", "Nds");
            parser.Add("REESTR", "RegistryCost");
            parser.Add("JVLS", "VitallyImportant");
            parser.Add("SERIAL", "SerialNumber");
            //parser.Add("I_SERT", "CertificateFilename"); В файлах Норман такого поля нет.
            session.Save(parser);

            var ids = new WaybillService().ParseWaybill(new[] { CreateTestLog("0020790.dbf").Id });
            var doc = session.Load <Document>(ids[0]);

            Assert.That(doc.Lines.Count, Is.EqualTo(15));
            var line = doc.Lines[0];

            Assert.That(line.Code, Is.EqualTo("174"));
            Assert.That(line.Product, Is.EqualTo("Алмагель А сусп. д/пр.внутрь фл. 170 мл. (мерн. ложка) х1"));
            Assert.That(line.Producer, Is.EqualTo("Balkanpharma Troya AD"));
            Assert.That(line.Country, Is.EqualTo("Болгария"));
            Assert.That(line.Quantity, Is.EqualTo(3));
            Assert.That(line.Nds, Is.EqualTo(10));
            Assert.That(line.Period, Is.EqualTo("01.12.2011"));
            Assert.That(line.Certificates, Is.EqualTo("РОСС BG.ФМ09.Д02834"));
            Assert.That(line.SupplierCost, Is.EqualTo(89.06));
            Assert.That(line.SupplierCostWithoutNDS, Is.EqualTo(80.96));
            Assert.That(line.ProducerCostWithoutNDS, Is.EqualTo(87.66));
            Assert.That(line.SerialNumber, Is.EqualTo("111209"));
            Assert.That(line.VitallyImportant, Is.False);
            Assert.That(doc.Lines[4].VitallyImportant, Is.True);
            Assert.That(line.RegistryCost, Is.EqualTo(0));
            Assert.That(line.SupplierPriceMarkup, Is.EqualTo(-7.64));
        }
コード例 #2
0
        public void Parse_Bahtin()
        {
            var parser = new Inforoom.PriceProcessor.Models.Parser("Bahtin_RM60945", appSupplier, EncodingEnum.CP866);

            parser.Add("DOCDAT", "Header_DocumentDate");
            parser.Add("COD", "Code");
            parser.Add("TOVAR", "Product");
            session.Save(parser);

            var ids      = new WaybillService().ParseWaybill(new[] { CreateTestLog("000099.DBF").Id });
            var document = session.Load <Document>(ids[0]);

            Assert.That(document.DocumentDate, Is.EqualTo(Convert.ToDateTime("27.02.2017")));

            var line = document.Lines[3];

            Assert.That(line.Code, Is.EqualTo("00000070"));
            var product = line.Product;

            Assert.That(product, Is.EqualTo("масло зародышей (ростков) пшеницы 100мл АРС"));
        }
コード例 #3
0
        public void Document_parser()
        {
            var file = Guid.NewGuid() + ".dbf";

            var productNameColumn      = "test_name";
            var quantityNameColumn     = "test_qt";
            var supplierCostColumn     = "test_sc";
            var supplierCostWithoutNDS = "test_scn";

            var table = new DataTable();

            table.Columns.Add(productNameColumn);
            table.Columns.Add(quantityNameColumn, typeof(int));
            table.Columns.Add(supplierCostColumn, typeof(decimal));
            table.Columns.Add(supplierCostWithoutNDS, typeof(decimal));
            table.Rows.Add("0,2л\"Сады Придонья\"сок ябл-виноградный восст.осв.", 27, 19.12, 17.38);
            Dbf.Save(table, file);
            var parser = new Inforoom.PriceProcessor.Models.Parser("Тестовый парсер", appSupplier);

            parser.Add(productNameColumn, "Product");
            parser.Add(quantityNameColumn, "Quantity");
            parser.Add(supplierCostColumn, "SupplierCost");
            parser.Add(supplierCostWithoutNDS, "SupplierCostWithoutNDS");
            session.Save(parser);

            var ids = ParseFile(file);
            var doc = session.Load <Document>(ids[0]);

            Assert.AreEqual(1, doc.Lines.Count);
            var line = doc.Lines[0];

            Assert.AreEqual("0,2л\"Сады Придонья\"сок ябл-виноградный восст.осв.", line.Product);
            Assert.AreEqual(27, line.Quantity);
            Assert.AreEqual(19.12, line.SupplierCost);
            Assert.AreEqual(17.38, line.SupplierCostWithoutNDS);
        }