static void CreateBarCode() { string dataDir = @"d:\temp\BarCode\"; string sql = @"SELECT w.code_wares as CodeWares ,w.name_wares as NameWares,b.bar_code as BarCode FROM dbo.Wares w JOIN dbo.barcode b ON w.code_wares = b.code_wares WHERE w.type_wares = 2 --AND substring(w.name_wares,1,4)<> 'Пиво' AND w.name_group IN('Цигарки','Сигари') AND w.is_old = 0 ORDER BY w.name_wares"; var MsSQL = new WDB_MsSql(); var W = MsSQL.db.Execute <ReceiptWares>(sql); // Instantiate barcode object and set differnt barcode properties foreach (var el in W) { var bb = BarcodeWriter.CreateBarcode(el.BarCode, el.BarCode.Length == 13 ? BarcodeWriterEncoding.EAN13 : BarcodeWriterEncoding.Code128, 250, 100); bb.SaveAsJpeg(dataDir + el.NameWares.Replace('\\', ' ').Replace('/', ' ').Replace("\"", "'").Replace("*", "x") + " " + el.BarCode + ".jpg"); // BarcodeGenerator generator = new BarcodeGenerator(el.BarCode.Length==13? EncodeTypes.EAN13: EncodeTypes.Code128, el.BarCode); // generator.Parameters.Barcode.XDimension.Millimeters = 1f; // Save the image to your system and set its image format to Jpeg // generator.Save(dataDir + el.NameWares.Replace('\\',' ' ).Replace('/',' '). Replace("\"","'")+" "+ el.BarCode+".jpg", BarCodeImageFormat.Jpeg); } }
static void CreateReceipDay() { var SQLGetReceipt = @"SELECT top(500) ISNULL(td.PERCENT_DISCOUNT,0) AS PERCENT_DISCOUNT, dc.bar_code, dr.number,dr.date_time ,w.Code_Wares ,dbo.GetCodeUnit(ud.code_unit) AS Code_Unit , drw.amount ,drw.price ,[disc_perc] as disc_perc_manual ,drw.sum+drw.sum_bonus AS sum ,[disc_perc_auto] ,[is_promotion] ,dr.comment --,drw._Fld11310_RRRef ,CONVERT(nchar(32), _Fld17312RRef, 2) AS type_Promotion , sc._Description AS BarCode2Category -- COUNT(*) FROM dbo.V1C_doc_receipt dr JOIN dbo.V1C_doc_receipt_wares drw ON dr._IDRRef = drw._IDRRef JOIN dbo.Wares w ON drw.nomen_RRef=w._IDRRef LEFT JOIN dbo.V1C_DIM_CARD dc ON dr.card_RRef = dc.Card_RRef LEFT JOIN dbo.V1C_DIM_TYPE_DISCOUNT TD ON TD.TYPE_DISCOUNT_RRef =DC.TYPE_DISCOUNT_RRef JOIN dbo.V1C_dim_addition_unit au ON drw.uom_RRef=au._IDRRef JOIN dbo.V1C_DIM_UNIT_DIMENSION ud ON au.Unit_dimention_RRef=ud.UNIT_DIMENSION_RRef LEFT JOIN UTPPSU.dbo._Reference18060 sc ON drw.barcode_2 = sc._IDRRef WHERE dr._Date_Time BETWEEN CONVERT(DATE,DATEADD(DAY,0,DATEADD(YEAR,2000,GETDATE()))) AND CONVERT(DATE,DATEADD(DAY,1,DATEADD(YEAR,2000,GETDATE()))) --AND ROUND(drw.amount*drw.price,2)<>drw.sum+drw.sum_bonus --and is_promotion=1 AND dr.warehouse_RRef= 0xB7A3001517DE370411DF7DD82E29F000 -- --AND _Fld17312RRef=0xAF5E2CDABF65241E4EB3EC36EC1F11E2 --Комплект --AND _Fld17312RRef=0xA6F61431ECE9ED4646ECAA3A735174ED --По виду дисконтних карт /*0x8CA05E08A127F853433EF4373AE9DC39 --Скидка на день рождения 0xA19CCECEDC498AF84560C115E6F7418A --Количество одного товара в документе превысило 0xA6F61431ECE9ED4646ECAA3A735174ED --По виду дисконтных карт 0xAD63C44DBEEA7E344A9E865F34168F14 --Вторая категория 0xAF5E2CDABF65241E4EB3EC36EC1F11E2 --Комплект*/ --AND td.PERCENT_DISCOUNT<>[disc_perc_auto] --AND dr.number='К1300008702' -- AND drw.sum_bonus>0 ORDER BY dr._IDRRef"; var TerminalId = Guid.Parse("abb75469-0f34-4124-8c53-c5392115269d"); var Api = new ApiPSU(); var LastLine = new TestReceipt(); var MsSQL = new WDB_MsSql(); var Receipt = MsSQL.db.Execute <TestReceipt>(SQLGetReceipt); IdReceiptWares IdWares; var LastReceipt = new IdReceipt(); foreach (var L in Receipt) { IdWares = new IdReceiptWares() { CodeWares = L.Code_Wares, CodeUnit = L.Code_Unit }; if (!L.Number.Equals(LastLine.Number)) { if (LastLine.Number != null) { Api.AddFiscalNumber(LastReceipt.ReceiptId, LastLine.Number); } } var p = Api.AddProductByProductId(TerminalId, IdWares.WaresId, L.Amount); //Api.ChangeQuantity(TerminalId, IdWares.WaresId, L.Amount); if (!L.Number.Equals(LastLine.Number)) { LastReceipt = Api.GetCurrentReceiptByTerminalId(TerminalId); if (L.Bar_Code != null) { Api.GetCustomerByBarCode(TerminalId, L.Bar_Code); } var RH = Api.Bl.GetReceiptHead(LastReceipt); RH.AdditionN1 = L.Percent_Discount; RH.AdditionC1 = L.Number; RH.AdditionD1 = L.Date_Time; RH.DateReceipt = L.Date_Time; Api.Bl.db.ReplaceReceipt(RH); } var RW = Api.Bl.db.ViewReceiptWares(LastReceipt); var RWE = RW.FirstOrDefault(d => d.CodeWares == L.Code_Wares); RWE.AdditionN1 = L.Disc_Perc_Auto; RWE.AdditionN2 = L.Sum * (100m - L.Disc_perc_manual) / 100; RWE.AdditionN3 = L.Is_Promotion; RWE.AdditionC1 = L.Price.ToString() + " " + L.Type_Promotion; RWE.BarCode2Category = L.BarCode2Category; RWE.Description = L.Disc_perc_manual.ToString(); Api.Bl.db.ReplaceWaresReceipt(RWE); LastLine = L; } if (LastLine.Number != null) { Api.AddFiscalNumber(LastReceipt.ReceiptId, LastLine.Number); } }