pb10 第一行syntax error 求大佬康康

如图 做的是工资管理系统里计算工资的按钮 错误里始终显示在第一行
呜呜呜大学生太菜了 求大佬
下接计算代码
integer r_yesno,r_row,r_count,r_rowcount,r_row1,r_gl1
string r_zg_code,r_gzzh
integer r_gznl,r_jbcs,r_cdcs,r_bjcs,r_sjcs,r_kgcs //工作年龄、加班次数、迟到次数、病假次数、事假次数、旷工次数
decimal r_xse //销售额
decimal r_jbgz,r_glgz,r_zcgz,r_gwjt,r_gdbt,r_glgz1 //基本工资项目
decimal r_jbf,r_cdkk,r_bjkk,r_sjkk,r_kgkk,r_jj,r_jtf,r_bxf //变动工资项目
decimal r_jbf1,r_cdkk1,r_bjkk1,r_sjkk1,r_kgkk1,r_jj1 //变动工资中对应的加班费、迟到扣款、病假扣款、事假扣款、旷工扣款
decimal r_je,r_sl,r_sskcs,r_ynsdexx,r_ynsdesx,r_ynsde //个人所得税额相关(金额、税率、速算扣除数、应纳所得额下限、应纳所得额上限、应纳所得额)
decimal r_ynse,r_jbgzhz,r_kkhj,r_yfhj,r_dkse,r_sfhj //应纳税额、基本工资汇总、扣款合计、应发合计、代扣税额、实发合计
string r_gw_code,r_zc_code,r_jx_code,r_sb_code//职工类别、岗位、职称、绩效、社保
r_yesno=messagebox('提示','是否真的进行相关操作?',question!,yesno!,2)
if r_yesno=2 then return
r_count=dw_table.rowcount()
for r_row=1 to r_count
r_zg_code=dw_table.getitemstring(r_row,'zg_code')
select gw_code,zc_code
into :r_gw_code,:r_zc_code
from gz_zgxxb where zg_code=:r_zg_code;
choose case i_type
case 'gz_jbgzb' //基本工资表
//工龄工资
select gznl into :r_gznl from gz_zgxxb where zg_code=:r_zg_code;
select glgz into :r_glgz1 from gz_glgz where gl=:r_gznl;
r_glgz=r_gznl*r_glgz1
//岗位津贴
select gwjt into :r_gwjt from gz_gwjt where gw_code=:r_gw_code;
//职称工资
select zcgz into :r_zcgz from gz_zcgz where zc_code=:r_zc_code;
//固定补贴
select gdbt into :r_gdbt from gz_kkbtgd;
r_gznl=gf_null_0(r_gznl)
r_glgz=gf_null_0(r_glgz)
r_gwjt=gf_null_0(r_gwjt)
r_zcgz=gf_null_0(r_zcgz)
r_gdbt=gf_null_0(r_gdbt)
dw_table.setitem(r_row,'gznl',r_gznl)
dw_table.setitem(r_row,'gnzl',r_gznl)
dw_table.setitem(r_row,'gwjt',r_gwjt)
dw_table.setitem(r_row,'zcgz',r_zcgz)
dw_table.setitem(r_row,'gdbt',r_gdbt)
case 'gz_bdgzb' //变动工资表
//计算在职职工的加班费、迟到扣款、病假扣款、事假扣款、旷工扣款
select jbcs,cdcs,bjcs,sjcs,kgcs into :r_jbcs,:r_cdcs,:r_bjcs,:r_sjcs,:r_kgcs
from gz_kqb where zg_code=:r_zg_code;
select jbf,cdkk,bjkk,sjkk,kgkk
into :r_jbf1,:r_cdkk1,:r_bjkk1,:r_sjkk1,:r_kgkk1
from gz_kkbtgd;
r_jbf=r_jbcs*r_jbf1
r_cdkk=r_cdcs*r_cdkk1
r_bjkk=r_bjcs*r_bjkk1
r_sjkk=r_sjcs*r_sjkk1
r_kgkk=r_kgcs*r_kgkk1
//绩效计算 以销售额为依据提成
select xse into :r_xse from gz_xse where zg_code=:r_zg_code;
if r_xse<5000 then
select tcse into :r_jj1 from gz_jx where jx_code=01;
r_jj=r_jj1
elseif r_xse>=5000 and r_xse<8000 then
select tcse into :r_jj1 from gz_jx where jx_code=02;
r_jj=r_jj1
elseif r_xse>=8000 and r_xse<11000 then
select tcse into :r_jj1 from gz_jx where jx_code=03;
r_jj=r_jj1
else
select tcse into :r_jj1 from gz_jx where jx_code=04;
r_jj=r_jj1
end if
r_jbf=gf_null_0(r_jbf)
r_cdkk=gf_null_0(r_cdkk)
r_bjkk=gf_null_0(r_bjkk)
r_sjkk=gf_null_0(r_sjkk)
r_kgkk=gf_null_0(r_kgkk)
r_jj=gf_null_0(r_jj)
dw_table.setitem(r_row,'jbf',r_jbf)
dw_table.setitem(r_row,'cdkk',r_cdkk)
dw_table.setitem(r_row,'bjkk',r_bjkk)
dw_table.setitem(r_row,'sjkk',r_sjkk)
dw_table.setitem(r_row,'kgkk',r_kgkk)
dw_table.setitem(r_row,'jj',r_jj)
case else //工资汇总表
choose case i_type
case 'gzhzjs' //汇总工资计算
//将基本工资项目、变动工资项目插入到工资汇总表
select gzzh into :r_gzzh from gz_zgxxb where zg_code=:r_zg_code;
select jbgz,glgz,gwjt,gdbt,zcgz into :r_jbgz,:r_glgz,:r_gwjt,:r_gdbt,:r_zcgz
from gz_jbgzb where rq=:g_rq and zg_code=:r_zg_code;
select jbf,jj,jtf,cdkk,bjkk,sjkk,kgkk,bxf into :r_jbf,:r_jj,:r_jtf,:r_cdkk,:r_bjkk,:r_sjkk,:r_kgkk,:r_bxf
from gz_bdgzb where rq=:g_rq and zg_code=:r_zg_code;
select gzzh into :r_gzzh
from gz_zgxxb where zg_code=:r_zg_code;
r_jbgz=gf_null_0(r_jbgz)
r_glgz=gf_null_0(r_glgz)
r_gwjt=gf_null_0(r_gwjt)
r_gdbt=gf_null_0(r_gdbt)
r_zcgz=gf_null_0(r_zcgz)
r_jtf=gf_null_0(r_jtf)
r_jbf=gf_null_0(r_jbf)
r_jj=gf_null_0(r_jj)
r_cdkk=gf_null_0(r_cdkk)
r_bjkk=gf_null_0(r_bjkk)
r_kgkk=gf_null_0(r_kgkk)
r_sjkk=gf_null_0(r_sjkk)
r_bxf=gf_null_0(r_bxf)
dw_table.setitem(r_row,'gzzh',r_gzzh)
dw_table.setitem(r_row,'jbgz',r_jbgz)
dw_table.setitem(r_row,'glgz',r_glgz)
dw_table.setitem(r_row,'gwjt',r_gwjt)
dw_table.setitem(r_row,'gdbt',r_gdbt)
dw_table.setitem(r_row,'zcgz',r_zcgz)
dw_table.setitem(r_row,'jtf',r_jtf)
dw_table.setitem(r_row,'jbf',r_jbf)
dw_table.setitem(r_row,'jj',r_jj)
dw_table.setitem(r_row,'cdkk',r_cdkk)
dw_table.setitem(r_row,'bjkk',r_bjkk)
dw_table.setitem(r_row,'sjkk',r_sjkk)
dw_table.setitem(r_row,'kgkk',r_kgkk)
dw_table.setitem(r_row,'bxf',r_bxf)
//计算在职职工的基本工资汇总,扣款合计,应发合计
r_jbgzhz=r_jbgz+r_glgz+r_gwjt+r_gdbt+r_zcgz
r_kkhj=r_cdkk+r_bjkk+r_sjkk+r_kgkk+r_bxf
r_yfhj=r_jbgzhz+r_jbf+r_jj+r_jtf
//计算代扣税额,实发合计
if r_yfhj<3000 then
r_dkse=0
else
r_ynse=r_yfhj - r_je
select count(*) into :r_rowcount from gz_grsdsl;
for r_row1=1 to r_rowcount
select ynsdexx,ynsdesx into :r_ynsdexx,:r_ynsdesx
from gz_grsdsl where sdsl_name=:r_row1;
if r_ynsdexx<r_ynse and r_ynsdesx>=r_ynse then
select sl,sskcs into :r_sl,:r_sskcs
from gz_grsdsl where sdsl_name=:r_row1;
r_dkse=r_ynse*(r_sl) - r_sskcs
end if
next
end if
r_sfhj=r_yfhj -r_dkse - r_kkhj
r_jbgzhz=gf_null_0(r_jbgzhz)
r_dkse=gf_null_0(r_dkse)
r_yfhj=gf_null_0(r_yfhj)
r_kkhj=gf_null_0(r_kkhj)
r_sfhj=gf_null_0(r_sfhj)
dw_table.setitem(r_row,'jbgzhz',r_jbgzhz)
dw_table.setitem(r_row,'yfhj',r_yfhj)
dw_table.setitem(r_row,'dkse',r_dkse)
dw_table.setitem(r_row,'kkhj',r_kkhj)
dw_table.setitem(r_row,'sfhj',r_sfhj)
相关推荐
zed(Rust)开源项目完整源码
「zed(Rust)开源项目完整源码」是开源项目(Rust)。项目简介:Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.源码完整,下载解压即可查看使用,适合学习参考、课程设计与二次开发。
IEC 63281-3-1:2024 电动运输车 - 第3-1部分:考虑实际使用温度条件的电动滑板车总运行时间性能测试方法 - 完整英文电子版(30页)
IEC 63281-3-1:2024规定了电动滑板车单人运输总运行时间的测试方法,考虑了用户在不同温度下驾驶时的实际使用温度条件,用于公路或公共场所。 本文件不涵盖残障人士或老年人的电动滑板车。此外,本文件不包括货运电动滑板车。
植物大战僵尸神人版-手机版-arm64-2026.10.30-手机版.apk.1
植物大战僵尸神人版-手机版-arm64-2026.10.30-手机版.apk.1
YOLO26算法表面凹坑与条纹检测+训练好的模型+610张数据集+pyqt可视化界面.zip
附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[未获取()] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 100 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.7184** mAP50-95 | 0.4372 Precision | 0.6793 Recall | 0.7024 train/box_loss | 1.1399 train/cls_loss | 0.7578 val/box_loss | 1.3453 val/cls_loss | 1.0488 【训练过程分析】 记得从开始第一轮训练起,那曲线就一直像坐滑梯一样,很快地就下滑到了低谷值。大概到第 10 轮时,模型就开始缓慢而持续地从 0.5 左右的 mAP50 走向平稳上升的通道。整个训练过程,除了初期的那股势如破竹的气势外,中间部分的曲线就变得起伏不定,有时还会在某个阶段停滞不前,似乎在寻找下一个前进的方向。而到了后期,曲线又慢慢开始平稳下来,从第 80 轮开始,mAP50 的提升逐渐减缓,这时候,我不得不面对一个问题:是继续等待模型自行收敛,还是尝试更多的调参策略。在经过一轮轮的观察和思考后,我觉得继续等待已经不太可能有显著的进步,于是决定在第 95 轮时停下了脚步,最终完成了总共 100 轮的训练任务。 在训练过程的后半程,我注意到 loss 曲线虽然总体下降趋势明显,但在某些阶段却出现了停滞,特别是在第 70 轮到... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。
编程语言扩展与跨边界架构设计:五种组合方式、统一判定与框架开发(20章)
本资源是一份 20章系统化技术长文,围绕“宿主语言如何借外部力量获得自身不具备的能力”展开,建立 “脚本解释器核心—适配层—被组合组件”三层统一模型,系统拆解 进程级、函数级、协议级、语言级、数据级 五种边界,并给出可复用的 三问拆解法、跨边界四要素、适配层厚薄定律与横向判定规则。内容覆盖 Shell 管道、Python import、requests/psycopg2、setuptools entry_points、Make/CMake、CI/CD、Lua 嵌入式脚本、Airflow DAG 等八个典型实例,深入讲解进程通信、ABI/FFI、动态库加载、import 协议、插件发现与入口点、HTTP 与数据库线协议、序列化与 Schema、构建编排、任务调度与数据管道等机制。文档同时包含混合系统主导/从属方式判定、选型决策树、反模式批判、框架开发清单、插件 SDK 设计、隔离策略、性能预算、可观测治理、综合实例、术语表、原文核心内容收录与交付校验清单。本资源适合 架构师、框架/平台开发者、插件系统设计者、跨语言集成工程师、后端与数据平台工程师、技术负责人 阅读,可作为技术选型、架构评审、插件体系设计、跨边界排障与团队内训的参考手册。关键词: 编程语言扩展、跨边界架构、五种边界、三层模型、进程级组合、函数级组合、协议级组合、语言级组合、数据级组合、插件系统、FFI、ABI、import机制、HTTP、数据库线协议、CI/CD、Lua、Airflow、框架设计、技术选型。


脚本语言
