public void Parse_waybills_Convert_Dbf_format() { var filePath = @"..\..\Data\Waybills\890579.dbf"; CopyFile(waybillDir, filePath); supplier.WaybillSource.ReaderClassName = "ProtekOmsk_3777_Reader"; MaitainAddressIntersection(client.Addresses[0].Id); SetConvertDocumentSettings(); Process(); CheckClientDirectory(2, DocType.Waybill); var logs = session.Query <TestDocumentLog>().Where(l => l.Client.Id == client.Id && l.Supplier.Id == supplier.Id && l.Address == client.Addresses[0]); Assert.That(logs.Count(), Is.EqualTo(2)); Assert.That(logs.Count(l => l.IsFake), Is.EqualTo(1)); Assert.That(logs.Count(l => !l.IsFake), Is.EqualTo(1)); var log = logs.SingleOrDefault(l => !l.IsFake); var file_dbf = GetFileForAddress(DocType.Waybill).Single(f => f.IndexOf(log.Id.ToString()) > -1); var data = Dbf.Load(file_dbf, Encoding.GetEncoding(866)); Assert.IsTrue(data.Columns.Contains("postid_af")); Assert.IsTrue(data.Columns.Contains("ttn")); Assert.IsTrue(data.Columns.Contains("przv_post")); }
public Document Parse(string file, Document document) { var data = Dbf.Load(file, Encoding); new DbfParser() .DocumentHeader(h => h.ProviderDocumentId, "NSF") .DocumentHeader(h => h.DocumentDate, "DTOTG") .Invoice(i => i.RecipientAddress, "ADRPOTR") .Line(l => l.Code, "NFS") .Line(l => l.Product, "NMFS") .Line(l => l.Producer, "ZIZG") .Line(l => l.Country, "STRANA") .Line(l => l.ProducerCostWithoutNDS, "ZNIZG") .Line(l => l.ProducerCost, "ZNIZG_S_N") .Line(l => l.SupplierCostWithoutNDS, "ZNPROD") .Line(l => l.SupplierCost, "ZNPROD_S_N") .Line(l => l.RegistryCost, "ZNIZG_F") .Line(l => l.Amount, "SUMNDS") .Line(l => l.NdsAmount, "NDSSUM") .Line(l => l.Quantity, "KOLF") .Line(l => l.Nds, "NDS") .Line(l => l.Period, "SROK") .Line(l => l.Certificates, "SERTIF") .Line(l => l.CertificatesDate, "DATA_SERT") .Line(l => l.SerialNumber, "SER") .Line(l => l.BillOfEntryNumber, "OKDP") .Line(l => l.EAN13, "EAN") .Line(l => l.VitallyImportant, "JNVLS") .ToDocument(document, data); return(document); }
public void Parse() { Assert.IsTrue(BaltimorYoshkarOlaParser.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\00033318.dbf"))); var doc = WaybillParser.Parse("00033318.dbf"); var line = doc.Lines[0]; Assert.That(doc.ProviderDocumentId, Is.EqualTo("ЧБ000033318")); Assert.That(doc.DocumentDate.Value.ToShortDateString(), Is.EqualTo("29.08.2011")); Assert.That(line.Code, Is.EqualTo("36869")); Assert.That(line.Product, Is.EqualTo("Окситоцин МЭЗ р-р д/ин. 5МЕ амп. 1мл. №10")); Assert.That(line.Producer, Is.EqualTo("Московский эндокринный з-д")); Assert.That(line.Country, Is.EqualTo("РОССИЯ")); Assert.That(line.BillOfEntryNumber, Is.Null); Assert.That(doc.Lines[2].BillOfEntryNumber, Is.EqualTo("10130130/200611/0012231/1")); Assert.That(line.SerialNumber, Is.EqualTo("70411")); Assert.That(line.Period, Is.EqualTo("01.05.2013")); Assert.That(line.Certificates, Is.EqualTo("РОСС RU.ФМ01.Д42360")); Assert.That(line.Quantity, Is.EqualTo(2)); Assert.That(line.SupplierPriceMarkup, Is.EqualTo(0.00)); Assert.That(doc.Lines[1].SupplierPriceMarkup, Is.EqualTo(12.57)); Assert.That(line.SupplierCost, Is.EqualTo(22.69)); Assert.That(line.SupplierCostWithoutNDS, Is.EqualTo(20.63)); Assert.That(line.Nds, Is.EqualTo(10)); Assert.That(line.NdsAmount, Is.EqualTo(4.13)); Assert.That(line.Amount, Is.EqualTo(45.38)); Assert.That(line.EAN13, Is.EqualTo(4602676001761)); Assert.That(line.ProducerCostWithoutNDS, Is.EqualTo(21.45)); Assert.That(line.VitallyImportant, Is.True); Assert.That(line.RegistryCost, Is.EqualTo(21.45)); }
public void Parse() { var document = WaybillParser.Parse("Р-147253.dbf"); Assert.IsTrue(VegaParser.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\Р-147253.dbf"))); Assert.That(document.ProviderDocumentId, Is.EqualTo("147253")); Assert.That(document.DocumentDate, Is.EqualTo(DateTime.Parse("14.10.2014"))); Assert.That(document.Lines.Count, Is.EqualTo(6)); var line = document.Lines[0]; Assert.That(line.Code, Is.EqualTo("3289")); Assert.That(line.Quantity, Is.EqualTo(2)); Assert.That(line.SupplierCost, Is.EqualTo(72.33)); Assert.That(line.Nds, Is.EqualTo(18)); Assert.That(line.NdsAmount, Is.EqualTo(22.07)); Assert.That(line.Amount, Is.EqualTo(144.66)); Assert.That(line.SupplierCostWithoutNDS, Is.EqualTo(61.29)); Assert.That(line.SupplierPriceMarkup, Is.EqualTo(11)); Assert.That(line.ProducerCostWithoutNDS, Is.EqualTo(55.22)); Assert.That(line.Period, Is.EqualTo("05.06.2016")); Assert.That(line.SerialNumber, Is.EqualTo("050614")); Assert.That(line.BillOfEntryNumber, Is.Null); Assert.That(line.Certificates, Is.EqualTo("РОСС RU.АЮ18.Д02268")); Assert.That(line.CertificateAuthority, Is.EqualTo("Сергиево-Посадский ЦСМС")); Assert.That(line.Product, Is.EqualTo("Бальзам СПАСАТЕЛЬ от ран и ожогов 30г")); Assert.That(line.Producer, Is.EqualTo("Люми ООО")); Assert.That(line.EAN13, Is.EqualTo(4607004431050)); Assert.That(line.VitallyImportant, Is.False); Assert.That(line.RegistryCost, Is.Null); }
public Document Parse(string file, Document document) { var data = Dbf.Load(file, Encoding); new DbfParser() .DocumentHeader(h => h.ProviderDocumentId, "NomNakl") .DocumentHeader(h => h.DocumentDate, "DateNakl") .Line(l => l.Code, "Kod") .Line(l => l.Product, "Naim") .Line(l => l.Producer, "Proizv") .Line(l => l.Country, "Strana") .Line(l => l.SupplierCostWithoutNDS, "ZenaBezNDS") .Line(l => l.SupplierCost, "ZenaSNDS") .Line(l => l.ProducerCostWithoutNDS, "ZenaProizv") .Line(l => l.ProducerCost, "ZenaPrSNDS") .Line(l => l.RegistryCost, "ZenaReestr") .Line(l => l.Nds, "NDS") .Line(l => l.Amount, "SumSNDS") .Line(l => l.NdsAmount, "NDSSUM") .Line(l => l.Quantity, "Kol") .Line(l => l.Unit, "EdIzm") .Line(l => l.Period, "SrokGodn") .Line(l => l.Certificates, "ImSS") .Line(l => l.CertificatesDate, "DateImSS") .Line(l => l.SerialNumber, "Seria") .Line(l => l.BillOfEntryNumber, "TamozhDek") .Line(l => l.EAN13, "EAN8_13") .Line(l => l.VitallyImportant, "ISLIFE") .ToDocument(document, data); return(document); }
public Document Parse(string file, Document document) { var data = Dbf.Load(file, Encoding); new DbfParser().DocumentHeader(h => h.ProviderDocumentId, "NDOC") //NDOC – номер накладной .DocumentHeader(h => h.DocumentDate, "DDOC") //DDOC – дата накладной .Line(l => l.Product, "GOOD") //GOOD – наименование товара //Пропущено : PRODSBAR- всегда ноль .Line(l => l.SerialNumber, "SERIAL") //SERIAL – серия товара или номер партии или дата производства товара .Line(l => l.Period, "DATEB") //DATEB – дата окончания срока годности товара .Line(l => l.Certificates, "SERT") //SERT – сертификат на товар или иной другой документ подтверждающий регистрацию товара //Пропущено : NOMERA- НОМЕР АПТЕКИ, КУДА ПОСТАВЛЯЕТСЯ ТОВАР .Line(l => l.Producer, "ENTERP") //ENTERP – производитель товара .Line(l => l.Country, "COUNTRY") //COUNTRY – страна производитель //Пропущено : TYPEPUK – всегда пусто .Line(l => l.Quantity, "QUANT") //QUANT – количество товара .Line(l => l.Nds, "NDS") //NDS – НДС на данный товар //Пропущено : EDIZM- всегда пусто //Пропущено : KOEFED – всегда ноль .Line(l => l.SupplierCostWithoutNDS, "PRICEENT") //PRICEENT –цена ПОСТАВЩИКА за штуку без НДС //.Line(l => l.ProducerCostWithoutNDS, "PRICEWONDS")//PRICEWONDS – цена за штуку без НДС .Line(l => l.NdsAmount, "SUMNDS") //SUMNDS – сумма НДС за штуку .Line(l => l.Amount, "SUMSNDS") //SUMSNDS – общая сумма товара с НДС .Line(l => l.SupplierCost, "PRICEENTND") // PRICEENTND – Цена ПОСТАВЩИКА за штуку с НДС //.Line(l => l.ProducerCost, "CENASNDS")//CENASNDS – Цена за штуку с НДС .ToDocument(document, data); //CheckAndFixSerialFormat(document.Lines); return(document); }
public void Parse() { var document = WaybillParser.Parse("605 3311.dbf"); Assert.IsTrue(RiaPandaVolgogradParser.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\605 3311.dbf"))); Assert.That(document.ProviderDocumentId, Is.EqualTo("33117")); Assert.That(document.DocumentDate, Is.EqualTo(new DateTime(2014, 11, 06))); Assert.That(document.Lines.Count, Is.EqualTo(13)); var line = document.Lines[0]; Assert.That(line.Product, Is.EqualTo("Dt. Vistong: Сироп Подорожника и Мать-и-мачехи, фл 150мл")); Assert.That(line.Code, Is.EqualTo("3303")); Assert.That(line.Period, Is.EqualTo("10.09.2016")); Assert.That(line.Quantity, Is.EqualTo(3)); Assert.That(line.SerialNumber, Is.EqualTo("0914")); Assert.That(line.SupplierCost.ToString(), Is.EqualTo("77,79")); Assert.That(line.SupplierCostWithoutNDS.ToString(), Is.EqualTo("65,92")); Assert.That(line.Nds.ToString(), Is.EqualTo("18")); Assert.That(line.Producer, Is.EqualTo("ООО ВИС")); Assert.That(line.EAN13, Is.EqualTo(605)); Assert.That(line.Certificates, Is.EqualTo("РОСС RU.АЯ61.Н12103")); Assert.That(line.CertificatesDate, Is.EqualTo("16.12.2016")); Assert.That(line.CertificateAuthority, Is.EqualTo("Таможенный Союз")); Assert.That(line.Amount, Is.EqualTo(233.37)); }
public void Parse() { Assert.IsTrue(SiaAstrahanParser.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\Р-786953.DBF"))); var document = WaybillParser.Parse("Р-786953.DBF"); Assert.That(document.Lines.Count, Is.EqualTo(36)); Assert.That(document.ProviderDocumentId, Is.EqualTo("Р-786953")); Assert.That(document.DocumentDate.Value.ToShortDateString(), Is.EqualTo("12.03.2012")); var line = document.Lines[0]; Assert.That(line.Code, Is.EqualTo("24378")); Assert.That(line.Product, Is.EqualTo("Аква Марис капли назальные д/детей 10мл Фл-капельница Б")); Assert.That(line.Producer, Is.EqualTo("Ядран Галенский Лабораторий АО")); Assert.That(line.Country, Is.EqualTo("ХОРВАТИЯ")); Assert.That(line.RegistryCost, Is.EqualTo(0)); Assert.IsNull(line.ProducerCost); Assert.IsNull(line.ProducerCostWithoutNDS); Assert.That(line.SupplierCostWithoutNDS, Is.EqualTo(73.22)); Assert.That(line.SupplierCost, Is.EqualTo(80.54)); Assert.That(line.Nds, Is.EqualTo(10)); Assert.That(line.Quantity, Is.EqualTo(2)); Assert.That(line.Amount, Is.EqualTo(161.08)); Assert.That(line.NdsAmount, Is.EqualTo(14.64)); Assert.That(line.Period, Is.EqualTo("01.08.2013")); Assert.That(line.SerialNumber, Is.EqualTo("2041")); Assert.That(line.Certificates, Is.EqualTo("РОСС HR.ФМ01.Д23988")); Assert.That(line.CertificatesDate, Is.EqualTo("25.10.2011")); Assert.That(line.VitallyImportant, Is.EqualTo(false)); Assert.That(line.EAN13, Is.EqualTo(3858881054738)); Assert.That(line.BillOfEntryNumber, Is.EqualTo("10130030/251011/0004515/1")); }
public void Parse() { Assert.IsTrue(AptekaHoldingSPBParser.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\NKL_1892886.dbf"))); var document = WaybillParser.Parse("NKL_1892886.dbf"); Assert.That(document.ProviderDocumentId, Is.EqualTo("АХ1-1892886/0")); Assert.That(document.DocumentDate.Value.ToShortDateString(), Is.EqualTo("01.12.2011")); var line = document.Lines[0]; Assert.That(line.Code, Is.EqualTo("8667")); Assert.That(line.Product, Is.EqualTo("Анаферон детск. табл. д/рассасыв. N20 Россия")); Assert.That(line.ProducerCost, Is.EqualTo(103.2)); Assert.That(line.SupplierCostWithoutNDS, Is.EqualTo(102.95)); Assert.That(line.Nds, Is.EqualTo(10)); Assert.That(line.Quantity, Is.EqualTo(5)); Assert.That(line.Amount, Is.EqualTo(566.25)); Assert.That(line.NdsAmount, Is.EqualTo(51.50)); Assert.That(line.Producer, Is.EqualTo("Материа Медика ПФ ЗАО")); Assert.That(line.Country, Is.EqualTo("Россия")); Assert.That(line.Period, Is.EqualTo("01.09.2014")); Assert.That(line.Certificates, Is.EqualTo("РОСС RU.ФМ05.Д99156")); Assert.That(line.CertificatesDate, Is.EqualTo("22.08.2011")); Assert.That(line.EAN13, Is.EqualTo(4607009581071)); Assert.That(line.BillOfEntryNumber, Is.EqualTo(null)); Assert.That(line.SerialNumber, Is.EqualTo("5030811")); Assert.That(line.VitallyImportant, Is.EqualTo(true)); }
public void Parse_and_Convert_to_Dbf_if_sert_date() { settings.IsConvertFormat = true; settings.AssortimentPriceId = price.Id; settings.SaveAndFlush(); var ids = ParseFile("20101119_8055_250829.xml"); var logs = DocumentReceiveLog.Queryable.Where(l => l.Supplier.Id == supplier.Id && l.ClientCode == client.Id); Assert.That(logs.Count(), Is.EqualTo(2)); Assert.That(logs.Where(l => l.IsFake).Count(), Is.EqualTo(1)); Assert.That(logs.Where(l => !l.IsFake).Count(), Is.EqualTo(1)); // Проверяем наличие записей в documentheaders для исходных документов. foreach (var documentLog in logs) { var count = documentLog.IsFake ? Document.Queryable.Where(doc => doc.Log.Id == documentLog.Id && doc.Log.IsFake).Count() : Document.Queryable.Where(doc => doc.Log.Id == documentLog.Id && doc.Log.IsFake).Count(); Assert.That(count, documentLog.IsFake ? Is.EqualTo(1) : Is.EqualTo(0)); } var files_dbf = Directory.GetFiles(Path.Combine(docRoot, "Waybills"), "*.dbf"); Assert.That(files_dbf.Count(), Is.EqualTo(1)); var file_dbf = files_dbf.Select(f => f).First(); var data = Dbf.Load(file_dbf, Encoding.GetEncoding(866)); Assert.IsTrue(data.Columns.Contains("sert_date")); Assert.That(data.Rows[0]["sert_date"], Is.EqualTo("10.08.2009")); }
public void Parse() { Assert.IsTrue(PulsFKParser.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\249137.dbf"))); var document = WaybillParser.Parse(@"..\..\Data\Waybills\249137.dbf"); Assert.That(document.Lines.Count, Is.EqualTo(7)); Assert.That(document.ProviderDocumentId, Is.EqualTo("249137")); Assert.That(document.DocumentDate, Is.EqualTo(Convert.ToDateTime("26.07.2012"))); Assert.That(document.Invoice.InvoiceNumber, Is.EqualTo("249137")); Assert.That(document.Invoice.InvoiceDate, Is.EqualTo(Convert.ToDateTime("26.07.2012"))); Assert.That(document.Invoice.AmountWithoutNDS, Is.EqualTo(1535.62)); Assert.That(document.Invoice.RecipientAddress, Is.EqualTo("42667")); Assert.That(document.Lines[0].Code, Is.EqualTo("11187")); Assert.That(document.Lines[0].Product, Is.EqualTo("911 Венолгон гель д/ног 100мл")); Assert.That(document.Lines[0].Producer, Is.EqualTo("Твинс Тэк")); Assert.That(document.Lines[0].Country, Is.EqualTo("РОССИЯ")); Assert.That(document.Lines[0].Quantity, Is.EqualTo(3)); Assert.That(document.Lines[0].SupplierCostWithoutNDS, Is.EqualTo(36.56)); Assert.That(document.Lines[0].SupplierCost, Is.EqualTo(43.14)); Assert.That(document.Lines[0].Nds, Is.EqualTo(18)); Assert.That(document.Lines[0].Amount, Is.EqualTo(129.42)); Assert.That(document.Lines[0].NdsAmount, Is.EqualTo(19.74)); Assert.That(document.Lines[0].EAN13, Is.EqualTo(4607010242558)); Assert.That(document.Lines[0].BillOfEntryNumber, Is.EqualTo(null)); Assert.That(document.Lines[0].VitallyImportant, Is.EqualTo(false)); Assert.That(document.Lines[0].SerialNumber, Is.EqualTo("0612")); Assert.That(document.Lines[0].Period, Is.EqualTo("01.12.2013")); Assert.That(document.Lines[0].Certificates, Is.EqualTo("POCC RU.АГ50.Д00016")); Assert.That(document.Lines[0].CertificateAuthority, Is.EqualTo("ОС ООО \"ЕВРОСТРОЙ\"")); Assert.That(document.Lines[0].CertificatesDate, Is.EqualTo("17.11.2011")); Assert.That(document.Lines[0].OrderId, Is.EqualTo(31539501)); }
public void Parse() { Assert.IsTrue(BioFarmVolgaParser.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\260254.dbf"))); var document = WaybillParser.Parse(@"..\..\Data\Waybills\260254.dbf"); Assert.That(document.Lines.Count, Is.EqualTo(1)); Assert.That(document.ProviderDocumentId, Is.EqualTo("Рн-ЙО00000260254")); Assert.That(document.DocumentDate.Value.ToShortDateString(), Is.EqualTo("06.09.2011")); var line = document.Lines[0]; Assert.That(line.Code, Is.EqualTo("М13845")); Assert.That(line.Product, Is.EqualTo("Валосердин 25мл")); Assert.That(line.Quantity, Is.EqualTo(10)); Assert.That(line.RegistryCost, Is.EqualTo(0.00)); Assert.That(line.ProducerCostWithoutNDS, Is.EqualTo(24.20)); Assert.That(line.SupplierCostWithoutNDS, Is.EqualTo(22.77)); Assert.That(line.SupplierCost, Is.EqualTo(25.05)); Assert.That(line.Nds, Is.EqualTo(10)); Assert.That(line.NdsAmount, Is.EqualTo(22.77)); Assert.That(line.Amount, Is.EqualTo(250.50)); Assert.That(line.SerialNumber, Is.EqualTo("210311")); Assert.That(line.Certificates, Is.EqualTo("РОСС.RU.ФМ01.Д07977")); Assert.That(line.CertificatesDate, Is.EqualTo("01.03.2013")); Assert.That(line.Producer, Is.EqualTo("Московская фарм. ф-к")); Assert.That(line.Period, Is.EqualTo("01.03.2013")); Assert.That(line.Country, Is.EqualTo("РОССИЯ")); Assert.That(line.BillOfEntryNumber, Is.Null); Assert.That(line.VitallyImportant, Is.False); }
public Document Parse(string file, Document document) { var data = Dbf.Load(file, Encoding.GetEncoding(866), true, false); new DbfParser() .DocumentHeader(d => d.ProviderDocumentId, "NUM_NAKL") .DocumentHeader(d => d.DocumentDate, "DATA_NAKL") .Line(l => l.Code, "KOD") .Line(l => l.Product, "NAME") .Line(l => l.Producer, "PROIZV") .Line(l => l.Country, "COUNTRY") .Line(l => l.Quantity, "KOLVO") .Line(l => l.ProducerCostWithoutNDS, "CENAPROIZ") .Line(l => l.RegistryCost, "REESTR") .Line(l => l.SupplierPriceMarkup, "NADBPROC") .Line(l => l.SupplierCostWithoutNDS, "CENABNDS") .Line(l => l.Nds, "NDSPOSTAV") .Line(l => l.SupplierCost, "CENASNDS") .Line(l => l.NdsAmount, "SUMMANDS") .Line(l => l.Amount, "SUMMA") .Line(l => l.SerialNumber, "SERII") .Line(l => l.Certificates, "SERTIF") .Line(l => l.CertificatesEndDate, "SERTDATE") .Line(l => l.CertificatesDate, "SERTGIVE") .Line(l => l.CertificateAuthority, "SERTORG") .Line(l => l.Period, "SROK_GODN", "DATAEND") .ToDocument(document, data); return(document); }
public void Parse() { Assert.IsTrue(FarmSKDParser.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\30529180.DBF"))); var document = WaybillParser.Parse("30529180.DBF"); Assert.That(document.ProviderDocumentId, Is.EqualTo("29180")); Assert.That(document.DocumentDate.Value.ToShortDateString(), Is.EqualTo("05.03.2012")); var line = document.Lines[0]; Assert.That(line.Code, Is.EqualTo("2012-0011610")); Assert.That(line.Product, Is.EqualTo("Аллохол табл.п.о. N 50 (48)")); Assert.That(line.Country, Is.EqualTo("БЕЛАРУСЬ")); Assert.That(line.ProducerCostWithoutNDS, Is.EqualTo(36.27)); Assert.That(line.ProducerCost, Is.EqualTo(39.9)); Assert.That(line.SupplierCostWithoutNDS, Is.EqualTo(42.93)); Assert.That(line.SupplierCost, Is.EqualTo(47.22)); Assert.That(line.RegistryCost, Is.EqualTo(0)); Assert.That(line.Nds, Is.EqualTo(10)); Assert.That(line.Quantity, Is.EqualTo(10)); Assert.That(line.Amount, Is.EqualTo(472.23)); Assert.That(line.NdsAmount, Is.EqualTo(42.93)); Assert.That(line.Producer, Is.EqualTo("Белмедпрепараты")); Assert.That(line.Period, Is.EqualTo("01.02.2016")); Assert.That(line.SerialNumber, Is.EqualTo("030112")); Assert.That(line.Unit, Is.EqualTo("уп.")); Assert.That(line.Certificates, Is.EqualTo("РОСС BY.ФМ05.Д97735")); Assert.That(line.CertificatesDate, Is.EqualTo("06.02.2012")); Assert.That(line.EAN13, Is.EqualTo(4810133003801)); Assert.IsNull(line.BillOfEntryNumber); }
public static void Load() { if (s_index == null) { s_index = new GameDbfIndex(); } else { s_index.Initialize(); } Achieve = Dbf.Load("ACHIEVE", (Dbf.RecordAddedListener)null); Adventure = Dbf.Load("ADVENTURE", (Dbf.RecordAddedListener)null); AdventureData = Dbf.Load("ADVENTURE_DATA", (Dbf.RecordAddedListener)null); AdventureMission = Dbf.Load("ADVENTURE_MISSION", (Dbf.RecordAddedListener)null); AdventureMode = Dbf.Load("ADVENTURE_MODE", (Dbf.RecordAddedListener)null); Banner = Dbf.Load("BANNER", (Dbf.RecordAddedListener)null); Booster = Dbf.Load("BOOSTER", (Dbf.RecordAddedListener)null); Board = Dbf.Load("BOARD", (Dbf.RecordAddedListener)null); Card = Dbf.Load("CARD", new Dbf.RecordAddedListener(s_index.OnCardAdded)); CardBack = Dbf.Load("CARD_BACK", (Dbf.RecordAddedListener)null); FixedReward = Dbf.Load("FIXED_REWARD", (Dbf.RecordAddedListener)null); FixedRewardAction = Dbf.Load("FIXED_REWARD_ACTION", new Dbf.RecordAddedListener(s_index.OnFixedRewardActionAdded)); FixedRewardMap = Dbf.Load("FIXED_REWARD_MAP", new Dbf.RecordAddedListener(s_index.OnFixedRewardMapAdded)); Hero = Dbf.Load("HERO", (Dbf.RecordAddedListener)null); Scenario = Dbf.Load("SCENARIO", (Dbf.RecordAddedListener)null); Season = Dbf.Load("SEASON", (Dbf.RecordAddedListener)null); Wing = Dbf.Load("WING", (Dbf.RecordAddedListener)null); }
public Document Parse(string file, Document document) { var data = Dbf.Load(file, Encoding); new DbfParser() .DocumentHeader(h => h.ProviderDocumentId, "NOMER") .DocumentHeader(h => h.DocumentDate, "DATA") .Invoice(i => i.BuyerName, "KLI") .Invoice(i => i.BuyerId, "REESTR") .Line(l => l.Code, "KOD") .Line(l => l.Product, "NM") .Line(l => l.Producer, "PROIZV") .Line(l => l.Country, "COUNTRY") .Line(l => l.SupplierCostWithoutNDS, "PRICMNDS") .Line(l => l.SupplierCost, "PRICWNDS") .Line(l => l.Nds, "NDS") .Line(l => l.Amount, "SUMMA") .Line(l => l.Quantity, "KOLVO") .Line(l => l.Period, "SROKGODN") .Line(l => l.Certificates, "SERTIF") .Line(l => l.CertificatesDate, "SERTDATA") .Line(l => l.CertificatesEndDate, "SROKSERT") .Line(l => l.CertificateAuthority, "SERTKEM") .Line(l => l.SerialNumber, "SERIA") .Line(l => l.BillOfEntryNumber, "GTD") .Line(l => l.ProducerCost, "PRICE_PR") .Line(l => l.NdsAmount, "REG_NOM") .Line(l => l.RegistryCost, "NAC") .ToDocument(document, data); return(document); }
public void DBFSaveTest() { batch.Lines.Value = new ObservableCollection <BatchLineView> { new BatchLineView(new BatchLine(), new OrderLine { Code = "normal", ProductSynonym = "Папаверин" }), new BatchLineView(new BatchLine(), new OrderLine { Code = "SuperLongCodeIsMoreThan9Symbols" + "BetterToAddMoreSymbolsForClearTest" + "MaybeItsStillNotLongEnought" + "SomeMoreText" }) }; var results = batch.Save().GetEnumerator(); var save = Next <SaveFileResult>(results); save.Dialog.FilterIndex = 1; var file = cleaner.RandomFile(); save.Dialog.FileName = file; Next(results); var dbf = Dbf.Load(file, Encoding.GetEncoding(1251)); Assert.That(dbf.Rows.Count, Is.EqualTo(2)); Assert.AreEqual("Папаверин", dbf.Rows[0]["Name"]); }
public void Parse() { Assert.IsTrue(BikovCheboksary12649Parser.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\Б0001213.DBF"))); var document = WaybillParser.Parse("Б0001213.DBF"); Assert.That(document.ProviderDocumentId, Is.EqualTo("Б0001213")); Assert.That(document.DocumentDate.Value.ToShortDateString(), Is.EqualTo("24.04.2012")); var invoice = document.Invoice; Assert.That(invoice, Is.Not.Null); Assert.That(invoice.InvoiceNumber, Is.EqualTo("Б0001213")); Assert.That(invoice.InvoiceDate.Value.ToShortDateString(), Is.EqualTo("24.04.2012")); Assert.That(invoice.BuyerName, Is.EqualTo("ИП Шахвердиева Валентина Александровна")); var line = document.Lines[0]; Assert.That(line.Code, Is.EqualTo("3244")); Assert.That(line.Product, Is.EqualTo("911 Непотин гель д/ног 100 мл антиперспирант")); Assert.That(line.ProducerCost, Is.EqualTo(45.35)); Assert.That(line.SupplierCost, Is.EqualTo(49.88)); Assert.That(line.Nds, Is.EqualTo(18)); Assert.That(line.Quantity, Is.EqualTo(1)); Assert.That(line.NdsAmount, Is.EqualTo(0)); Assert.That(line.Producer, Is.EqualTo("Твинс Тэк Россия")); Assert.That(line.Period, Is.EqualTo("01.08.2013")); Assert.That(line.SerialNumber, Is.EqualTo("0212")); Assert.That(line.Certificates, Is.EqualTo("РОСС RU.АИ86.Д00149")); Assert.That(line.CertificatesDate, Is.EqualTo("16.04.2011")); Assert.IsNull(line.BillOfEntryNumber); }
public void Parse() { var document = WaybillParser.Parse("Н4375_5061.dbf", new DocumentReceiveLog(new Supplier { Id = 7524 }, new Address(new Client()))); KronikaLtdParser.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\Н4375_5061.dbf")); Assert.That(document.Lines.Count, Is.EqualTo(24)); Assert.That(document.ProviderDocumentId, Is.EqualTo("061216")); Assert.That(document.DocumentDate, Is.EqualTo(Convert.ToDateTime("19.03.2015"))); Assert.That(document.Lines[0].Code, Is.EqualTo("523203")); Assert.That(document.Lines[0].Product, Is.EqualTo("Амбробене сироп 15мг/5мл 100мл")); Assert.That(document.Lines[0].Producer, Is.EqualTo("Меркле ГмбХ")); Assert.That(document.Lines[0].Country, Is.EqualTo("Германия")); Assert.That(document.Lines[0].Quantity, Is.EqualTo(3)); Assert.That(document.Lines[0].ProducerCostWithoutNDS, Is.EqualTo(86.87m)); Assert.That(document.Lines[0].SupplierCostWithoutNDS, Is.EqualTo(96.42m)); Assert.That(document.Lines[0].Certificates, Is.EqualTo("РОСС DE.ФМ08.Д28058")); Assert.That(document.Lines[0].VitallyImportant, Is.True); Assert.That(document.Lines[0].Nds.Value, Is.EqualTo(10)); Assert.That(document.Lines[0].SupplierCost, Is.EqualTo(106.06)); Assert.That(document.Lines[0].SupplierPriceMarkup, Is.EqualTo(10.99)); Assert.That(document.Lines[0].NdsAmount, Is.EqualTo(28.93)); Assert.That(document.Lines[0].Amount, Is.EqualTo(318.19m)); }
public Document Parse(string file, Document document) { string vitallyImportantColumn = null; string certificatesColumn = null; string registryCostColumn = null; var data = Dbf.Load(file, Encoding); if (data.Columns.Contains("LIFE_REQ")) { vitallyImportantColumn = "LIFE_REQ"; } if (data.Columns.Contains("REESTR")) { registryCostColumn = "REESTR"; } if (data.Columns.Contains("SERT")) { certificatesColumn = "SERT"; } document.Lines = data.Rows.Cast <DataRow>().Select(r => { document.ProviderDocumentId = r["NUM_DOC"].ToString(); if (!Convert.IsDBNull(r["DATA_DOC"])) { document.DocumentDate = Convert.ToDateTime(r["DATA_DOC"]); } var line = document.NewLine(); line.Code = r["CODE"].ToString(); line.Product = r["GOOD"].ToString(); line.Producer = r["ENTERP"].ToString(); line.Country = r["COUNTRY"].ToString(); line.ProducerCostWithoutNDS = Convert.IsDBNull(r["PRICEENT"]) ? null : (decimal?)Convert.ToDecimal(r["PRICEENT"], CultureInfo.InvariantCulture); line.SupplierCostWithoutNDS = Convert.ToDecimal(r["PRICEWONDS"], CultureInfo.InvariantCulture); line.SupplierCost = Convert.ToDecimal(r["PRICE"], CultureInfo.InvariantCulture); line.Quantity = Convert.ToUInt32(r["QUANT"]); line.Period = Convert.IsDBNull(r["DATEB"]) ? null : Convert.ToDateTime(r["DATEB"]).ToShortDateString(); if (!String.IsNullOrEmpty(registryCostColumn)) { line.RegistryCost = Convert.IsDBNull(r[registryCostColumn]) ? null : (decimal?)Convert.ToDecimal(r[registryCostColumn], CultureInfo.InvariantCulture); } if (!String.IsNullOrEmpty(certificatesColumn)) { line.Certificates = Convert.IsDBNull(r[certificatesColumn]) ? null : r[certificatesColumn].ToString(); } line.SerialNumber = Convert.IsDBNull(r["SERIAL"]) ? null : r["SERIAL"].ToString(); line.Nds = Convert.ToUInt32(r["NDS"], CultureInfo.InvariantCulture); if (!String.IsNullOrEmpty(vitallyImportantColumn)) { line.VitallyImportant = Convert.IsDBNull(r[vitallyImportantColumn]) ? null : (bool?)(Convert.ToUInt32(r[vitallyImportantColumn]) == 1); } return(line); }).ToList(); return(document); }
/// <summary> /// Парсер для формата файла DBF /// </summary> protected void ParseDBF(RejectHeader reject, string filename) { DataTable data; try { data = Dbf.Load(filename); } catch (Exception e) { var err = string.Format("Не удалось получить файл с отказами '{0}' для лога документа {1}", filename, reject.Log.Id); Logger.Warn(err, e); return; } for (var i = 0; i < data.Rows.Count; i++) { var rejectLine = new RejectLine(); reject.Lines.Add(rejectLine); rejectLine.Product = data.Rows[i][10].ToString(); rejectLine.Code = data.Rows[i][9].ToString(); rejectLine.Cost = NullableConvert.ToDecimal(data.Rows[i][13].ToString()); rejectLine.Ordered = NullableConvert.ToUInt32(data.Rows[i][14].ToString()); var rejected = NullableConvert.ToUInt32(data.Rows[i][15].ToString()); rejectLine.Rejected = rejected != null ? rejected.Value : 0; } }
public Document Parse(string file, Document document) { var data = Dbf.Load(file); new DbfParser() .DocumentHeader(d => d.DocumentDate, "DATA_NAKL") .DocumentHeader(h => h.ProviderDocumentId, "NUM_NAKL") .Invoice(i => i.RecipientAddress, "ADDRESS") .Invoice(i => i.InvoiceNumber, "SF") .Line(l => l.Code, "KOD") .Line(l => l.Product, "NAME") .Line(l => l.Producer, "PROIZV") .Line(l => l.Country, "COUNTRY") .Line(l => l.ProducerCostWithoutNDS, "CENAPROIZ") .Line(l => l.ProducerCost, "CENAPRNDS") .Line(l => l.RegistryCost, "REESTR") .Line(l => l.SupplierCostWithoutNDS, "CENABNDS") .Line(l => l.SupplierCost, "CENASNDS") .Line(l => l.Quantity, "KOLVO") .Line(l => l.SerialNumber, "SERII") .Line(l => l.Period, "EXPDATE", "SROK_GODN") .Line(l => l.Nds, "NDSPOSTAV") .Line(l => l.NdsAmount, "SUMMANDS") .Line(l => l.Amount, "SUMMA") .Line(l => l.Certificates, "SERTIF") .Line(l => l.CertificatesDate, "DATAEND") .Line(l => l.CertificateAuthority, "SERTORG") .Line(l => l.BillOfEntryNumber, "N_DECLAR") .Line(l => l.VitallyImportant, "PV") .ToDocument(document, data); return(document); }
public Document Parse(string file, Document document) { var data = Dbf.Load(file, Encoding); new DbfParser() .DocumentHeader(h => h.ProviderDocumentId, "NDOCNUM") .DocumentHeader(h => h.DocumentDate, "NDATE") .Line(l => l.Code, "ACWARES") .Line(l => l.Product, "WARESNAME") .Line(l => l.Producer, "PRODNAME") .Line(l => l.Country, "COUNTRY") .Line(l => l.ProducerCostWithoutNDS, "PLT_NO_NDS") .Line(l => l.SupplierCost, "ACSELLCOST") .Line(l => l.SupplierCostWithoutNDS, "SELL_NO_ND") .Line(l => l.Quantity, "ACAMOUNT") .Line(l => l.Period, "ACVALDATE") .Line(l => l.RegistryCost, "RECOST") .Line(l => l.Certificates, "CERTNUM") .Line(l => l.SerialNumber, "ACSERIES") .Line(l => l.VitallyImportant, "IS_VITAL") .Line(l => l.Nds, "NDS") .ToDocument(document, data); return(document); }
public void Parse() { Assert.IsTrue(Vazakor_144_Parser.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\00387_1.DBF"))); var document = WaybillParser.Parse("00387_1.DBF"); Assert.That(document.Lines.Count, Is.EqualTo(1)); Assert.That(document.ProviderDocumentId, Is.EqualTo("0000000387")); Assert.That(document.DocumentDate.Value.ToShortDateString(), Is.EqualTo("20.02.2012")); var invoice = document.Invoice; Assert.That(invoice, Is.Not.Null); Assert.That(invoice.BuyerName, Is.EqualTo("Акватик ООО")); Assert.That(invoice.SellerName, Is.EqualTo("ООО \"ВАЗАКОР\"")); var line = document.Lines[0]; Assert.That(line.Code, Is.EqualTo("132")); Assert.That(line.Product, Is.EqualTo("Шприц 1 мл инсулиновый HELMJECT U-40/100")); Assert.That(line.Unit, Is.EqualTo("шт")); Assert.That(line.SupplierCostWithoutNDS, Is.EqualTo(2.94)); Assert.That(line.SupplierCost, Is.EqualTo(3.23)); Assert.That(line.Nds, Is.EqualTo(10)); Assert.That(line.Quantity, Is.EqualTo(200)); Assert.That(line.Amount, Is.EqualTo(646.8)); Assert.That(line.NdsAmount, Is.EqualTo(58.8)); Assert.That(line.Producer, Is.EqualTo("HELM Medical GmbH")); Assert.That(line.Certificates, Is.EqualTo("РОСС.DE.ИМ08.Д00165")); Assert.That(line.CertificatesDate, Is.EqualTo("09.12.2014")); }
public Document Parse(string file, Document document) { var data = Dbf.Load(file, Encoding); new DbfParser() .DocumentHeader(h => h.ProviderDocumentId, "IDDOC") .Line(l => l.Code, "ID_MP") .Line(l => l.Product, "NAMETOW") .Line(l => l.ProducerCostWithoutNDS, "SUMIZGOTWO") .Line(l => l.ProducerCost, "SUMIZGOT") .Line(l => l.SupplierCostWithoutNDS, "SUMPRIHWON") .Line(l => l.SupplierCost, "SUMPRIH") .Line(l => l.Producer, "IZGOT") .Line(l => l.Country, "STRANA") .Line(l => l.Nds, "NDS") .Line(l => l.RegistryCost, "PRICE_REG") .Line(l => l.Amount, "PRICESWN") .Line(l => l.NdsAmount, "SNDS") .Line(l => l.Unit, "ED") .Line(l => l.EAN13, "EAN13") .Line(l => l.Quantity, "AMOUNTOW") .Line(l => l.Period, "SROK") .Line(l => l.Certificates, "NUMBSERT") .Line(l => l.CertificatesDate, "DATASERT") .Line(l => l.SerialNumber, "SERIA") .Line(l => l.BillOfEntryNumber, "NUMBGTD") .Line(l => l.VitallyImportant, "GNVLS") .ToDocument(document, data); return(document); }
public Document Parse(string file, Document document) { var data = Dbf.Load(file); new DbfParser() .DocumentHeader(h => h.ProviderDocumentId, "NOM_SHET") .DocumentHeader(h => h.DocumentDate, "DATA_SCHET") .Line(l => l.Code, "KOD") .Line(l => l.Product, "NAME") .Line(l => l.Producer, "ZAVOD") .Line(l => l.Country, "STRANA") .Line(l => l.Period, "GOGEN_DO") .Line(l => l.Quantity, "KOLVO") .Line(l => l.SupplierCost, "CENA_OPT") .Line(l => l.SupplierCostWithoutNDS, "CENA_BNDS") .Line(l => l.ProducerCostWithoutNDS, "CENA_ZAV") .Line(l => l.Nds, "NDS") .Line(l => l.VitallyImportant, "JV") .Line(l => l.RegistryCost, "REESTR") .Line(l => l.Certificates, "SERTIF") .Line(l => l.SerialNumber, "SERIA") .ToDocument(document, data); return(document); }
public void Parse() { Assert.IsTrue(Medkom_Mp_Spb.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\6792.dbf"))); var document = WaybillParser.Parse("6792.dbf"); Assert.That(document.Lines.Count, Is.EqualTo(28)); Assert.That(document.ProviderDocumentId, Is.EqualTo("СКЛ-006792")); Assert.That(document.DocumentDate.Value.ToShortDateString(), Is.EqualTo("30.01.2012")); var invoice = document.Invoice; Assert.That(invoice, Is.Not.Null); Assert.That(invoice.InvoiceNumber, Is.EqualTo("СКЛ-006792")); Assert.That(invoice.InvoiceDate.Value.ToShortDateString(), Is.EqualTo("30.01.2012")); Assert.That(invoice.RecipientAddress, Is.EqualTo("ООО \"УК Здоровые Люди\",196105, Санкт-Петербург г, Московский пр-кт, дом 143 лит.А 12Н")); var line = document.Lines[0]; Assert.That(line.Code, Is.EqualTo("ММ-1016160")); Assert.That(line.Product, Is.EqualTo("DUREX (lubr) Play O 15ml")); Assert.That(line.ProducerCostWithoutNDS, Is.EqualTo(423.73)); Assert.That(line.SupplierCost, Is.EqualTo(500)); Assert.That(line.Nds, Is.EqualTo(18)); Assert.That(line.EAN13, Is.EqualTo(0)); Assert.That(line.Quantity, Is.EqualTo(2)); Assert.That(line.Amount, Is.EqualTo(1000)); Assert.That(line.NdsAmount, Is.EqualTo(152.54)); Assert.That(line.Producer, Is.Null); Assert.That(line.Country, Is.EqualTo("ВЕЛИКОБРИТАНИЯ")); Assert.That(line.BillOfEntryNumber, Is.EqualTo("10130070/210611/0013791/1")); Assert.That(line.Period, Is.EqualTo("31.01.2015")); Assert.That(line.SerialNumber, Is.Null); Assert.That(line.VitallyImportant, Is.False); Assert.That(line.Certificates, Is.EqualTo("РОСС GB.АЯ46.Д39193")); }
public Document Parse(string file, Document document) { var data = Dbf.Load(file, Encoding); new DbfParser() .DocumentHeader(h => h.ProviderDocumentId, "NDOC") .DocumentHeader(h => h.DocumentDate, "DATEDOC") .Invoice(i => i.InvoiceNumber, "BILLNUM") .Invoice(i => i.InvoiceDate, "BILLDT") .Invoice(i => i.RecipientAddress, "PODR") .Line(l => l.Code, "CODEPST") .Line(l => l.Product, "NAME") .Line(l => l.Producer, "FIRM") .Line(l => l.Country, "CNTR") .Line(l => l.SupplierCost, "PRICE") .Line(l => l.ProducerCostWithoutNDS, "PRICEMAN") .Line(l => l.Amount, "SUMSNDS") .Line(l => l.NdsAmount, "SUMNDS") .Line(l => l.Quantity, "QNT") .Line(l => l.Period, "GDATE") .Line(l => l.Certificates, "SERTIF") .Line(l => l.SerialNumber, "SER") .Line(l => l.EAN13, "EAN13") .Line(l => l.BillOfEntryNumber, "GTD") .Line(l => l.Nds, "NDS") .Line(l => l.VitallyImportant, "ISLIFE") .ToDocument(document, data); return(document); }
public void Check_file_format() { Assert.IsTrue(Moron_338_SpecialParser.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\Р-1642648-1.dbf"))); var document = WaybillParser.Parse(@"..\..\Data\Waybills\Р-1642648-1.dbf"); Assert.IsTrue(document.Lines[0].VitallyImportant.Value); }
public void Parse() { Assert.IsTrue(UralBioFarmKurskParser.CheckFileFormat(Dbf.Load(@"..\..\Data\Waybills\152307.DBF"))); var document = WaybillParser.Parse("152307.DBF"); Assert.That(document.Lines.Count, Is.EqualTo(3)); Assert.That(document.ProviderDocumentId, Is.EqualTo("152307")); Assert.That(document.DocumentDate.Value.ToShortDateString(), Is.EqualTo("25.11.2011")); var invoice = document.Invoice; Assert.That(invoice, Is.Not.Null); Assert.That(invoice.InvoiceNumber, Is.EqualTo("152307")); Assert.That(invoice.InvoiceDate.Value.ToShortDateString(), Is.EqualTo("25.11.2011")); Assert.That(invoice.BuyerName, Is.EqualTo("ИП Нескородова Л.А.")); Assert.That(invoice.BuyerAddress, Is.EqualTo("305025, г.Курск Магистральный пр. 16 б")); var line = document.Lines[0]; Assert.That(line.Code, Is.EqualTo("2029")); Assert.That(line.Product, Is.EqualTo("Асептолин р-р д/наруж. прим. 90% 100мл")); Assert.That(line.ProducerCostWithoutNDS, Is.EqualTo(15.32)); Assert.That(line.ProducerCost, Is.EqualTo(16.85)); Assert.That(line.SupplierCostWithoutNDS, Is.EqualTo(15.47)); Assert.That(line.SupplierCost, Is.EqualTo(17.02)); Assert.That(line.Nds, Is.EqualTo(10)); Assert.That(line.Quantity, Is.EqualTo(210)); Assert.That(line.Amount, Is.EqualTo(3573.57)); Assert.That(line.NdsAmount, Is.EqualTo(324.87)); Assert.That(line.Producer, Is.EqualTo("Фармацевтический комбинат (Россия)")); Assert.That(line.Period, Is.EqualTo("01.10.2013")); Assert.That(line.SerialNumber, Is.EqualTo("071011")); Assert.That(line.Certificates, Is.EqualTo("POCCRU.ФМ01.Д38608, 01.11.11, ФГБУ\"ЦЭККМП\"Росздравнадзора, 01.10.13")); Assert.IsNull(line.BillOfEntryNumber); }