关于税控的一些问题总结

这次做了一个关于socket方式的税控接口,让人伤心的是,他们的接口文档总是不成熟,各种各样的错。

先说说需要注意的地方。

第一:关于socket传送的xml字符串时候应该注意的格式。要不然中文会乱码。

/// <summary>
        /// 发送XML数据
        /// </summary>
        /// <param name="xml"></param>
        /// <param name="ip"></param>
        /// <param name="port"></param>
        /// <returns>发送XML数据结果</returns>
        public string SocketGetXML(string xml, string ip, string port)
        {
            byte[] result = new byte[1024];
            IPAddress ipAdress = IPAddress.Parse(ip);
            Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            clientSocket.Connect(new IPEndPoint(ipAdress, Convert.ToInt32(port)));
            clientSocket.Send(Encoding.GetEncoding("GB2312").GetBytes(xml));
            Thread.Sleep(1000);
            int receiveLength = clientSocket.Receive(result);
            clientSocket.Close();
            return Encoding.GetEncoding("GB2312").GetString(result, 0, receiveLength);
        }

第二:关于模态化窗口传递中文参数应该注意的问题

在前台js:

var message = window.showModalDialog("InvoiceCharge.aspx?Kpr=" + encodeURI(encodeURI(Kpr)) + "&Je=" + Je + "&InvoVersion=" + InvoVersion + "&InvoNumber=" + fph, "", "dialogHeight:100px;dialogWidth:200px;status:no;center:yes;");

后台C#处理时候:

string Kpr = HttpUtility.UrlDecode(Request["Kpr"]);

string Je = Request["Je"];

string InvoVersion = Request["InvoVersion"];

string InvoNumber = Request["InvoNumber"];

但是如果传递的参数中包含了—号或者%号等一些特别的符号,这时造成无法解析。可以在前台用encodeURIComponent(parameters)转化就行了。

第三:关于模态化窗体的取值:

可以在C#后台,将需要传递的值传递给一个隐藏域,

同时在页面前台用用js获取他的值,但是这个js必须放在body的onload中加载。如:

<script language="javascript" type="text/javascript">
       function onload() {
           var messsage = document.getElementById("HiddenField2").value;
        window.returnValue = messsage;
            window.close();
        }
    </script>
</head>
<body >

第四:关于js解析xml字符串的问题。

首先要把xml字符串转化为xml对象。然后解析

//字符串转化为xml对象
function toXmlDom(source) {
    var xmlDoc = null;
    if (window.ActiveXObject) {
        var ARR_ACTIVEX = ["MSXML4.DOMDocument", "MSXML3.DOMDocument", "MSXML2.DOMDocument", "MSXML.DOMDocument", "Microsoft.XmlDom"];
        var XmlDomflag = false;
        for (var i = 0; i < ARR_ACTIVEX.length && !XmlDomflag; i++) {
            try {
                var objXML = new ActiveXObject(ARR_ACTIVEX[i]);
                xmlDoc = objXML; XmlDomflag = true;
            } catch (e) { }
        } if (xmlDoc) {
            xmlDoc.async = false;
            xmlDoc.loadXML(source);
        }
    } else {
        var parser = new DOMParser();
        var xmlDoc = parser.parseFromString(source, "text/xml");
    }
    return xmlDoc;
}

这是一个适合各种浏览器的转化方法,兼容了IE和火狐。

然后:

function getAttributeValue(xmlNode, attrName) {
            if (!xmlNode) return "";
            if (!xmlNode.attributes) return "";
            if (xmlNode.attributes[attrName] != null)
                return xmlNode.attributes[attrName].value;
            if (xmlNode.attributes.getNamedItem(attrName) != null)
                return xmlNode.attributes.getNamedItem(attrName).value; return "";
        }

这是获取相应节点中的属性值。

var  xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                            xmlDoc.async = "false";
                            xmlDoc.loadXML(aryBill[i]);
                            var Je = (getAttributeValue(xmlDoc.getElementsByTagName("ITEM")[0].childNodes[55], "VALUE")).split(‘:‘)[1].toString();
                            var Kpr = (getAttributeValue(xmlDoc.getElementsByTagName("ITEM")[0].childNodes[70], "VALUE")).split(‘ ‘)[0].toString();
                            var fpbbh = InvoVersion;
                            var fph = getAttributeValue(xmlDoc.getElementsByTagName("ITEM")[0].childNodes[95], "VALUE");

这是如何获取其中的值。

时间: 2024-12-28 16:02:06

关于税控的一些问题总结的相关文章

税控开票软件 发票导入工具

0.如题 制作了一个小工具,可以将 Excel 中的商品销售清单导入开票软件中,以供大家使用. 演示视频:视频将演示如何下载和使用工具 bilibili视频链接:http://www.bilibili.com/video/av6201085/ 百度云视频链接:https://pan.baidu.com/s/1hrF4S8c 1.整体思路 税控开票软件的手工导入功能需要XML文件,且XML文件应包含发票信息,因此,我们需要做的就是制作出包含发票信息的XML文件. 我采取的方法是将已知格式的XML文

税控机

税控机 蓝牙 android控制 浪潮RE-320FB.RE-330FB.RE-300FB 地税六家,分别是浪潮.亿利达.桑达.航天.深科技等国税五家,分别是浪潮.海康.天越.航天.中兴通等增值税一家是航天信息. 原文地址:https://www.cnblogs.com/hshy/p/10868903.html

税控机房间的加减法的见附件

封口胶司法局京东方及家属的减肥减肥机发生的 www.meimeidu.com/Theme/Details/196813/ www.meimeidu.com/Theme/Details/196812/ www.meimeidu.com/Theme/Details/196811/ www.meimeidu.com/Theme/Details/196810/ www.meimeidu.com/Theme/Details/196809/ www.meimeidu.com/Theme/Details/19

关于新版税控数据库密码的获取

2.0新版的税控软件改变了数据库的格式和密码.C#版本的密码可以获取,但是Delphi版本的数据库只能通过注入或者IDA来拦截函数获取密码. 但目前的问题是,即使获取了密码,还是不能通过标准工具软件来获得数据,因为软件附带的DLL是自己修改过的,参数貌似与网上通用版本的参数不一致. 函数参数和调用方式(比如__cdecl或__stdcall)需要使用IDA或者OllyDbg等反汇编器将DLL反汇编,通过定位导出函数结尾的retn指令判断参数个数和调用方式.由被调用者平栈通常为__stdcall,

新公司注册流程

2014新版执照 2014年3月1日起,注册资金改为认缴制. 也就是说创业期的朋友可以不出资,直接注册1块.10.100.1000万的公司.不用再花钱找第三方出资.这样大大降低了创业门槛.出资时间尽量延长,我们在办理过程中曾写过100年,但是后来登记科不允许就改为了20年30年,这个具体咨询当地工商局以其规定为准. 只要不是特殊行业的内资公司,注册所需要的材料有 1.全体股东身份证复印件 2.注册地址房产证复印件(商业及办公用途,产权人每页签字或者盖章) 3.租房协议(承租方为拟核准公司名称)

关于龙芯(转)

也许是龙芯名称中的“龙”字,承载着太多国人的希望,自诞生之初就处于社会舆论的风口浪尖.有人说龙芯是骗经费的项目,也有人说龙芯的科研人员是为理想而奋斗的志士,还有人说龙芯的科研人员“太天真”,是土八路斗美械师,自寻死路.龙芯究竟怎么样?无数篇横看成岭侧成峰的报道给龙芯包裹上了层层迷雾.那么今天,就让我们一起揭开迷雾下的真相,洞察志士的艰辛与心血. 1.龙芯的诞生 回溯历史,中国也曾经拥有过自己的 CPU 和全自主的半导体产业.但因在上世纪 80 年代奉行“造不如买.买不如租”.“市场换技术”等方针

常用财务软件:用友,金蝶,新中大,速达,管家婆,金算盘,远方,远光,金钥匙,润衡,浪潮,上海博科,易商,任我行,千方百剂,智管,小蜜蜂,SAP,ORACLE,SSA,QAD,MAPICS,JDE。

申报时间: 除增值税外,多数税应该向地税申报. 城建税,教育费,每月15日前. 个人所得税,每月7日前. 车船税, 土地使用税,每年4/10月15日前. 房产税,每年4/10月15日前, 印花税 企业所得税 一般纳税人申报流程: 有两张IC卡:一张是税控IC卡,保存增值税发票开具信息:一张报税IC卡,网上报税可以不用持有报税IC卡. 认证:平时开具发票时,将税控IC卡插到专用的读卡器中开具发票

个体工商户国税2.0报税详解

原文地址:http://www.fyhqtrade.com/articles/?type=detail&id=12 编辑时间:2015年1月11日星期日 国税2.0及升级包的下载 国税2.0:http://down.tech.sina.com.cn/page/39034.html 升级包:http://pan.baidu.com/s/1c0nMmpM 链接已经很到位,如果你还不知道怎么下载,那么请找懂得人来. 备注:升级包安装的时候,请注意安装地址定位到你安装的国税2.0的目录下TaxDecla

Hyper-V 2016 系列教程26 Hyper-v平台并口外设解决方案介绍

一般企业中会有老款的并口设备,这些设备一般用在重要的业务上面,有时不是想淘汰就能淘汰的,所以在服务器虚拟化时,会采用一些转接方案,以便使这些设备能正常运行在虚拟化操作系统中,老款并口设备在企业中一般有工业打印机,财务部门专门的开票和税务打印机,工业测试设备等,这些并口老旧设备在企业虚拟化中是最复杂的,特别是外企环境中财务税控方面和国外的设备兼容性太差,如果将这些并口设备直接接到XenServer物理服务器端口上,可能性不太大,所以我们这里介绍二款常用的网络转并口集线器,可以给有需求的公司作为参考