📄 sk.h
字号:
#ifndef _SK_H#define _SK_H// TaxCtrlPro.h 2004-2-27/*struct TaxStatus{ int TaxFlg; //=0->未进入税控,=1->已进入税控 int TaxReporting; //=0->正常使用中,=1->进入纳税申报,未确认完税 int PaperRollStatus; //=0->未登记发票卷,=1->已登记发票卷 char CurCode[11]; //当前发票号 char IndexCode[13]; //税种税目索引号 010200000000 unsigned char EndDate[13]; //本次开票截止日期}//函数 调用取得 TaxStatus//int TaxPro_0( struct TaxStatus *Data );//===========================================================================//一、税控初始化 / 查看初始化数据struct TaxInitData { char BoxCode[17]; //税控器编号 16 ASC STR char UserCode[17]; //纳税人编码 16 ASC STR char UserName[41]; //纳税人单位名称 40 STR char BeginDate[11]; //应用起用日期 YYYY-MM-DD 10 ASC STR char ValidDate[11]; //应用有效日期 YYYY-MM-DD 10 ASC STR char InvalidDate[11]; //开票截止日期 YYYY-MM-DD char OneInvoiceValLimit[13]; //单张开票限额 000,000,000·00 (不足前面补空格) char TotalLimit[13]; //开票累计金额限额 char ReturnTotalLimit[13]; //退票累计金额限额 char TaxTypeIndex[13]; //税种税目索引号 "010203040506"};//+++++++++++++++++++++++++++++++++++++++++++++++++//处理过程参考://+++++++++++++++++++++++++++++++++++++++++++++++++//显示 当前系统 日期,提示 用户确认日期正确,按 Enter 进入 税控初始化,提示 "税控初始化中,请稍候..."//提示 插入用户卡//税控初始化函数: int TAX_INIT( struct TaxInitData *Data );//参数: struct TaxInitData *Data//功能: 系统未进行过 税控初始化时,进入"税控初始化",已初始化完成后,只向结构填入数据返回//返回: int 成功=0; 已经税控完成,不需初始化=1; 不成功=见错误表; //初始化成功:TaxStatus.TaxFlg = 1; // .TaxReporting = 0; //=0->正常使用中,=1->进入纳税申报,未确认完税// .PaperRollStatus = 0; //=0->未登记发票卷,=1->已登记发票卷//并写盘保存//显示 初始化结果//===========================================================================//二、发票分发 / 查看发票登记内容struct InvoiceData { int flg; char InvoiceCode[21]; //发票代码 20 ASC STR char BeginCode[11]; //起始号码 8 ASC STR char EndCode[11]; //截止号码 8 ASC STR char CurCode[11]; //当前发票号 8 ASC STR};//+++++++++++++++++++++++++++++++++++++++++++++++++//处理过程参考://+++++++++++++++++++++++++++++++++++++++++++++++++//提示 插入用户卡//发票分发函数: int TAX_REG_BILL_NO( struct InvoiceData *Data );//参数 struct InvoiceData *Data//flg = 0 -> 只需 读出 发票登记内容; flg = 1 发票分发//功能:函数要判断是否需要进行发票分发,需:进入发票分发;flg=0 or 不需:只向结构填入数据返回//返回:int 成功=0; 已经分发完成,不需分发=1; 不成功=见错误表; // InvoiceData.flg == 1 -> 需要进行 发票分发//可先用 InvoiceData.flg = 0,从 函数中返回结构数据 ,返回时 flg == 0->不需 发票分发,flg == 1->要分发//分发成功:显示 发票登记内容 InvoiceData.InvoiceCode,.BeginCode,.EndCode// TaxStatus.PaperRollStatus = 1; //=0->未登记发票卷,=1->已登记发票卷//===========================================================================//三、纳税申报struct TaxReportData { char BeginDate[11]; //申报起算日期 YYYY-MM-DD 10 ASC STR char CountDate[11]; //申报截至日期 YYYY-MM-DD 10 ASC STR char InvoiceCnt[8]; //正常发票份数 "0000000" (不足前面补空格) char ReturnCnt[8]; //退票份数 "0000000" (不足前面补空格) char CancelCnt[8]; //废票份数 "0000000" (不足前面补空格) char TaxTypeIndex[13]; //税种税目索引号 "010203040506" char SubTotal[6][13]; //正常发票分类累计金额 000,000,000·00 (不足前面补空格) char SubRetVal[6][13]; //退票分类累计金额 000,000,000·00 (不足前面补空格) char TotalVal[13]; //正常发票累计金额 000,000,000·00 (不足前面补空格) char RetVal[13]; //退票累计金额 000,000,000·00 (不足前面补空格)};//+++++++++++++++++++++++++++++++++++++++++++++++++//处理过程参考://+++++++++++++++++++++++++++++++++++++++++++++++++//提示 插入用户卡//纳税申报函数: int TAX_DECLARE( struct TaxReportData *Data );//参数 struct TaxReportData *Data//功能:函数要判断是否需要进行发票分发,需:进入发票分发;不需:只向结构填入数据返回//返回:int 成功=0; 不到申报时间=1; 不成功=见错误表;//申报成功:显示 申报数据 TaxReportData.BeginDate,.CountDate,.InvoiceCnt,.ReturnCnt// .CancelCnt,.TaxTypeIndex,.TotalVal,.RetVal// TaxStatus.TaxReporting = 1; //=1->进入纳税申报,未确认完税//===========================================================================//四、申报完成(完税回插) / 查看监控数据struct CtrlData { char InvalidDate[11]; //开票截止日期 YYYY-MM-DD char OneInvoiceValLimit[13]; //单张开票限额 000,000,000·00 (不足前面补空格) char TotalLimit[13]; //开票累计金额限额 char ReturnTotalLimit[13]; //退票累计金额限额 char TaxTypeIndex[13]; //税种税目索引号 "010203040506"};//+++++++++++++++++++++++++++++++++++++++++++++++++//处理过程参考://+++++++++++++++++++++++++++++++++++++++++++++++++//提示 插入用户卡//回读监控数据函数: int TAX_READ_VIGIL_FILE( struct CtrlData *Data );//参数 struct CtrlData *Data//功能:函数要判断是否需要进行"完税回插",需:进入"完税回插"//返回:int 成功=0; 不需进行"完税回插"=1; 不成功=见错误表;// TaxStatus.TaxReporting = 0; //=0->正常使用中//显示 新的监控数据 内容//===========================================================================//五、发票卷汇总 / 查看发票卷汇总struct InvoiceRollData { int flg; // char InvoiceCode[21]; //发票代码 20 ASC STR char BeginCode[11]; //起始号码 8 ASC STR char EndCode[11]; //截止号码 8 ASC STR char InvoiceCnt[4]; //正票份数 "000" char ReturnCnt[4]; //退票份数 "000" char CancelCnt[4]; //废票份数 "000" char TotalVal[13]; //正票总金额 000,000,000·00 (不足前面补空格) char RetVal[13]; //废票总金额 000,000,000·00 (不足前面补空格) char BeginDate[11]; //开票起始时间 YYYY-MM-DD 10 ASC STR char StopDate[11]; //开票截止时间 YYYY-MM-DD 10 ASC STR}; //+++++++++++++++++++++++++++++++++++++++++++++++++//处理过程参考://+++++++++++++++++++++++++++++++++++++++++++++++++//提示 插入 用户卡//发票卷汇总函数: int TAX_REG_BILL_ROLL_COLLECT( struct InvoiceRollData *Data );//参数 struct InvoiceRollData *Data//flg = 0 -> 只需 读出 发票卷统计内容; flg = 1 发票卷汇总//功能:函数要判断是否需要进行"发票卷汇总",需:进入"发票卷汇总";不需:向结构填入 发票卷统计数据//返回:int 成功=0; 不需进行"发票卷汇总"=1; 不成功=见错误表;// InvoiceRollData.flg == 1 -> 需要 进行发票卷汇总//可先用 InvoiceData.flg = 0,从 函数中返回结构数据 ,返回时 flg == 0->不需 发票汇总,flg == 1->要汇总//汇总成功:显示 发票卷汇总内容 InvoiceRollData.InvoiceCode,.BeginCode,.EndCode,// .InvoiceCnt,.ReturnCnt,.CancelCnt,.TotalVal,.RetVal,.// .BeginDate,.StopDate// TaxStatus.PaperRollStatus = 0; //=0->未登记发票卷,=1->已登记发票卷//===========================================================================//六、稽查(发票明细/日累计/申报数据)struct InvoiceListData { unsigned char Flag; //稽查类别 '明细','日累计','申报记录','修改时间' ASC unsigned char Level_Str[3]; //稽查人员级别 "00"-"FE", "FF" ASC_STR unsigned char BeginCode[11]; //起始号码 11 ASC STR int Cnt; //连续数据条数 unsigned char DateStr[11]; //日期时间 YYYYY-MM-DD 如果稽查类别是'修改时间'则此处为'hh-mm' unsigned char PassWord[9]; //稽查口令}; //+++++++++++++++++++++++++++++++++++++++++++++++++//处理过程参考://+++++++++++++++++++++++++++++++++++++++++++++++++//提示 "插入稽查卡",按任意键 进入稽查//进入稽查函数: int TAX_INTO_GL_BACK( struct InvoiceListData *Data );//参数 struct InvoiceListData *Data//功能:函数要从 稽查卡 读出稽查控制文件,向结构填入 稽查类别,稽查人员级别//返回:int 成功=0; 不成功=见错误表;//根据 稽查类别 进入不同的稽查方式 -> '明细','日累计','申报记录','修改时间'// 如:稽查人员级别=="FF" InvoiceListData.Level_Str// 输入稽查口令 8位 数字串 switch (稽查类别) InvoiceListData.Flag { case 明细: 输入 发票号(要稽查发票的第一张发票号)InvoiceListData.BeginCode 输入 要稽查的发票张数 InvoiceListData.Cnt break; case 日累计: 输入 日期 (年月日) InvoiceListData.DateStr 输入 要稽查的发票张数 InvoiceListData.Cnt break; case 申报记录: 输入 日期 (年月)InvoiceListData.DateStr 输入 要稽查的申报次数 InvoiceListData.Cnt break; case 修改时间: 输入 时间,并 修改系统 时间 break; }//'明细','日累计','申报记录'->进入 稽查实施//稽查实施函数: int TAX_BringIntoEffect_GL_BACK( struct InvoiceListData *Data );//参数 struct InvoiceListData *Data//功能:函数 实施稽查//返回:int 成功=0; 不成功=见错误表;//===========================================================================//查 发票明细//查 日累计数据//查 申报历史//税控数据查询(发票明细)struct Query_1 { char BeginCode[11]; //发票号 char Date[11]; //开票日期 YYYY-MM-DD char InvoiceType[5]; //开票类型 ("正常"/"退票"/"作废") char Value[13]; //开票总金额 000,000,000·00 (不足前面补空格) char CanceledInvCode[11]; //原发票号 char SecurityCode[21]; //防伪税控码};//+++++++++++++++++++++++++++++++++++++++++++++++++//处理过程参考://+++++++++++++++++++++++++++++++++++++++++++++++++//用户输入 发票号 Query_1.BeginCode//进入查询1 函数: int TAX_BILL_QUERY( struct Query_1 *Data );//参数 struct Query_1 *Data//功能:函数要从 税控器中 查找 对应发票存储记录,将数据 填入结构//返回:int 成功=0; 不成功=见错误表;//显示 查询内容//===========================================================================//税控数据查询(日累计)struct Query_2 { char DailyDate[11]; //日累计记录日期 YYYY-MM-DD char InvoiceCnt[8]; //正票份数 "0000000" (不足前面补空格) char ReturnCnt[8]; //退票份数 "0000000" (不足前面补空格) char CancelCnt[8]; //废票份数 "0000000" (不足前面补空格) char TaxTypeIndex[13]; //税种税目索引号 "010203040506" char TotalVal[13]; //正票总金额 000,000,000·00 (不足前面补空格) char RetVal[13]; //废票总金额 000,000,000·00 (不足前面补空格)};//+++++++++++++++++++++++++++++++++++++++++++++++++
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -