winform怎么实现财务上凭证录入和打印

序言

现如今存在的财务软件层出不穷,怎么样让自己的业务系统与财务系统相结合,往往是很多公司头痛的问题。大多数公司也没有这个能力都去开发一套属于自己的财务软件,所以只有对接像金蝶用友这类的财务软件,花费大量的人力物力在两套系统中切换,从而开发属于自己的一套业务和财务一体化的系统迫在眉睫,去解决这些痛点。

 如何去实现winform凭证

 用C#语言开发,CS框架,DevExpress控件,实现出来的效果如下:

 会计科目支持代码、科目和助记码的模糊搜索,可以进行快速找到相应的科目。同金蝶和用友专业的财务软件媲美了,功能齐全,操作方便简单。

录入凭证之前先对科目进行定义,科目都是财政部相对应的科目:

 

录入简单的凭证,进行测试,相对简单方便。

 保存完进行打印,打印出来就是专业的会计凭证了,凭证的打印是用时锐浪进行实现的。同时支持A4纸张和套打都可以。

   try
            {
                string ReportPath = "", printtitle = "", printername = "";
                float paperlength = 0, paperwidth = 0;

                string printModel = CommonArgs.printTypes.ContainsKey(printType) ? (printType == "托运单" ? "tydtype" : printType == "标签" ? "bqtype" : (CommonArgs.printTypes[printType] + "Model")) : "";
                printtitle = API.ReadINI("Print", printModel, "", CommonArgs.config);
                printtitle = printtitle == "" ? printType : printtitle;//如果是没有选择模板的,默认为打印类型,找一下配置

                //查找配置信息
                DataRow[] drs = CommonClass.DsPrint.Tables[0].Select("title='" + printtitle + "'");
                if (drs.Length > 0)
                {
                    paperlength = drs[0]["paperlength"].ToFloat();
                    paperwidth = drs[0]["paperwidth"].ToFloat();
                    ReportPath = drs[0]["grfname"].ToStringEx();
                }
                else
                {
                    ReportPath = printType + ".grf";
                }

                string reportpath = Application.StartupPath + "\\" + ReportPath;
                if (!System.IO.File.Exists(reportpath))
                {
                    XtraMessageBox.Show("缺少相应的打印模板文件【" + ReportPath + "】!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                printername = GetPrinter(printType);
                if (printername == "" || !CommonClass.CheckPrinters(printername))
                {
                    PrintDocument prtdoc = new PrintDocument();
                    printername = prtdoc.PrinterSettings.PrinterName;//获取默认的打印机名 
                    ShowPrintDialog = true;
                }

                Report.LoadFromFile(reportpath);

                ds = new DataSet();
                ds.Tables.Add(dt.Copy());
                if (paperlength != 0)
                {
                    Report.Printer.PaperLength = paperlength;
                    Report.Printer.PaperWidth = paperwidth;
                    Report.Printer.PaperSize = 256;
                    Report.Printer.SheetPages = GRSheetPages.grsp1Pages;
                }
                Report.Printer.PrinterName = printername;
                Report.LoadDataFromXML(ds.GetXml());
                Report.Print(ShowPrintDialog);
                if (ShowPrintDialog) saveprinter(printType, Report.Printer.PrinterName);

                //保存打印次数
                CommonClass.SetPrintCount(printType, dt);
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.Message, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

  

 

锐浪设计文件如下,把相应的字段对应基本上就大功告成了。

 如何用代码去实现凭证界面的开发

其实说到用代码去实现凭证这个界面的开发还是挺有难度的,CS不必BS那么容易去布局,这个界面实现起来没得几千行代码也是搞不定,难点还是在借方和贷方金额这里,整个界面下面是一张背景图。

保存好的凭证,并可以打开查看业务明细:

 

结束语

以上就是财务凭证的实现,有兴趣朋友一起研究学习进步。  

 可加QQ群:186841119

程序下载地址:https://download.csdn.net/download/lxc442389681/16741582

 

posted @ 2020-04-16 15:34  气宇轩昂_2017  阅读(1531)  评论(6编辑  收藏  举报