爱招飞帮助手册 爱招飞帮助手册
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
  • FastWeb帮助主页
  • 学习手册

    • 基本入门

    • 功能介绍

    • 控件说明

    • 系统工具

    • 系统管理

    • 云服务工具

    • 数据库工具

    • 专用模板

    • 外部功能

    • 开发流程

      • 开发案例
      • 纺织印染业ERP设计实务
        • 1. 系统组成
        • 2. 基础资料页面设置
          • 2.1. 公司资料编辑-单笔数据表单
          • 2.1.1. 功能简述
          • 2.1.2. 窗体设置
          • 2.1.3. 控件设置
          • 2.1.4. 程序设计
          • 2.1.5. 多语言设置
          • 2.1.6. 运行效果
          • 2.2. 客户资料查询-多笔数据表单
          • 2.2.1. 功能简述
          • 2.2.2. 窗体设置
          • 2.2.3. 控件设置
          • 2.2.4. 程序设计
          • 2.2.5. 多语言设置
          • 2.2.6. 运行效果
          • 2.3. 客户资料编辑-多笔数据表单
          • 2.3.1. 功能简述
          • 2.3.2. 窗体设置
          • 2.3.3. 控件设置
          • 2.3.4. 程序设计
          • 2.3.5. 多语言设置
          • 2.3.6. 运行效果
        • 3. 业务单据页面设置
          • 3.1. 销售订单-多笔数据主从表单
          • 3.1.1. 功能简述
          • 3.1.2. 窗体设置
          • 3.1.3. 控件设置
          • 3.1.4. 程序设计
          • 3.1.5. 多语言设置
          • 3.1.6. 运行效果
          • 3.2. 销售订单编辑-多笔数据主从表单
          • 3.2.1. 功能简述
          • 3.2.2. 窗体设置
          • 3.2.3. 控件设置
          • 3.2.4. 程序设计
          • 3.2.5. 多语言设置
          • 3.2.6. 报表设置
          • 3.2.7. 运行效果
          • 3.3. 图表-销售订单排名分析
          • 3.3.1. 功能简述
          • 3.3.2. 窗体设置
          • 3.3.3. 控件设置
          • 3.3.4. 程序设计
          • 3.3.5. 多语言设置
          • 3.3.6. 运行效果
        • 4. 导入窗体
          • 4.1. 导入布种资料-多笔数据表单
          • 4.1.1. 功能简述
          • 4.1.2. 窗体设置
          • 4.1.3. 控件设置
          • 4.1.4. 程序设计
          • 4.1.5. 多语言设置
          • 4.1.6. 运行效果
          • 4.2. PDF查看
          • 4.2.1. 功能简述
          • 4.2.2. 窗体设置
          • 4.2.3. 控件设置
          • 4.2.4. 程序设计
          • 4.2.5. 多语言设置
          • 4.2.6. 运行效果
      • 页面布局
      • URLFrame与JS的交互
      • 自定控件扩展

      • RestAPI扩展

      • IsoBean开发

    • 函数程序

  • 开发手册

目录

纺织印染业ERP设计实务

# FastWeb 纺织印染业ERP设计实务

  • 适用平台: WEB(桌面)

  该文档将指导实现在FastWeb中的单据相关功能。本次我们将在FastWeb中实现业务系统的功能。

# 1. 系统组成

  以下图片描述本系统的模块组成,其中公司资料、客户资料以及布种资料、厂商资料等为对应的基础资料,销售订单、采购订单、生产订单为引用以上基础资料生成的单据。除公司资料外,其他的每个模块均包含查询页面以及编辑页面。销售订单、采购订单与生产订单中还包括打印的相关设置内容。图片以销售订单,采购订单与生产订单为主线分为以下三个流程图。

# 2. 基础资料页面设置

# 2.1. 公司资料编辑-单笔数据表单

  点击菜单导航栏中的模块列表(WEB),在打开的模块列表中点击添加按钮,添加标题为公司资料的模块,添加的内容样式如下,主要填写组别、编号、标题、开发用户等内容,使用PasScript的用户编号请填写为 W-EQ-MOD-2129-1,使用JScript的用户编号请填写 W-EQ-MOD-2129-2。填写完成后,点击保存按钮。

  选择刚才创建的标题为公司资料的模块,点击上方的模块设计按钮,进入模块设计界面。

  公司资料的页面设置如下图。

# 2.1.1. 功能简述

  公司资料用于对公司资料的内容进行编辑,此页面中包含了单笔数据的表单设计模式,数据库图片的展示与引用,图片的对话框引入模式的设计说明。

# 2.1.2. 窗体设置

属性 取值 说明
Height 600 主窗体的高度(像素)
Width 800 主窗体的宽度(像素)

# 2.1.3. 控件设置

  • 控件说明
控件名称 控件类型 说明
UgContainerPanel01 TUgContainerPanel 顶部布局控件,作为按钮容器
UgGroupBox01 TUgGroupBox 分组布局控件,用于放置图像显示控件
Align:alRight
Caption:公司图标(双击图像处以上传)
UgGroupBox02 TUgGroupBox 分组布局控件,用于放置数据感知控件
Align:alClient
UgPanel01 TUgPanel 面板控件,用于放置图片控件
btSave TUgButton 保存按钮
Caption:保存
btEdit TUgButton 修改按钮
Caption:修改
btExit TUgButton 退出按钮
Caption:退出
UgSweetAlertClose TUgSweetAlert 对话框控件
UgFileUpload TUgFileUpload 图片上传控件
dtsData TUgRFDataSet 数据集控件公司资料
dsData TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsData
  • 数据感知控件说明

  以下数据感知控件需修改每一个控件的以下属性。TUgDBImage控件类型的除外。

属性 取值 说明
FieldLabel 取值对应为数据字段的中文名称,作为控件显示的标签
FieldLabelWidth 80 设置标签显示字段的宽度
数据字段名称 中文名称 对应控件类型 控件名称 备注
FCompanyID 公司编号 TUgDBEdit edtFCompanyID
FCompanyCode 公司代号 TUgDBEdit edtFCompanyCode
FComanyName 简体名称 TUgDBEdit edtFCompanyName
FComanyNameTW 繁体名称 TUgDBEdit edtFCompanyNameTW
FCompanyNameEn 英文名称 TUgDBEdit edtFCompanyNameEn
FContact 负责人 TUgDBEdit edtFContact
FCurrenty 本位币 TUgDBComboBox cbFCurrenty
FPhone1 电话1 TUgDBEdit edtFPhone1
FRemovedDate 结账日期 TUgDBFormattedNumberEdit edtFRemovedDate
FPhone2 电话2 TUgDBEdit edtFPhone2
FTaxType 税率类别 TUgDBComboBox cbFTaxType
FFax 传真号码 TUgDBEdit edtFFax
FTaxRate 税率 TUgDBFormattedNumberEdit edtFTaxRate
FEmail 邮箱 TUgDBEdit edtFEmail
FCompanyAddr 简体地址 TUgDBEdit edtFCompanyAddr
FCompanyAddrTW 繁体地址 TUgDBEdit edtFCompanyAddrTW
FCompanyAddrEn 英文地址 TUgDBEdit edtFCompanyAddrEn
FUrl 公司主页 TUgDBEdit edtFUrl
FBank 开户银行 TUgDBEdit edtFBank
FAccountNo 开户账号 TUgDBEdit edtFAccountNo
FZip 邮编号码 TUgDBEdit edtFZip
FTaxID 税号 TUgDBEdit edtFTaxID
FCompanyLogo 公司图标 TUgDBImage imgCompanyLogo

# 2.1.4. 程序设计

  在初始设置程序时,使用JScript用户需勾选pub_js_tarslink与pub_js_messageinfo单元,使用PasScript的用户请勾选pub_pas_tarslink与pub_pas_messageinfo单元。

  • 初始设置:设置显示数据集的初始化内容。(仅限PascaScript使用)。
Begin
  //初始化设置,SQL赋值以及复选框默认选项的设置
  dtsData.SQL.Text := 'select * from Basic_Company';
  dtsData.Connection := GetRFERP;
  dtsData.Open;
  
  cbFCurrenty.Items.CommaText := UGMM.LT('人民币') + ',' + UGMM.LT('美元') + ',' + UGMM.LT('新台币') + ',' + UGMM.LT('港币');
  cbFTaxType.Items.CommaText := UGMM.LT('增值税') + ',' + UGMM.LT('营业税') + ',' + UGMM.LT('免税');
End.
1
2
3
4
5
6
7
8
9
  • UgWebRunFrameOnAfterRunScript:UgWebRunFrame的OnAfterRunScript事件,执行初始运行状态下的设置。
    //JScript
    function UgWebRunFrameOnAfterRunScript(sender)
    {
    //翻译界面
      UGMM.LC(Self);
    //验证模块权限
      UGMM.VerifyRunFramePerm(Self);
      RefState(False);
      //初始化设置,SQL赋值以及复选框默认选项的设置
      dtsData.SQL.Text = "select * from Basic_Company";
      dtsData.Connection = GetRFERP;
      dtsData.Open;
      
      cbFCurrenty.Items.CommaText = UGMM.LT("人民币") + "," + UGMM.LT("美元") + "," + UGMM.LT("新台币") + "," + UGMM.LT("港币");
      cbFTaxType.Items.CommaText = UGMM.LT("增值税") + "," + UGMM.LT("营业税") + "," + UGMM.LT("免税");
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    //PasScript
    procedure UgWebRunFrameOnAfterRunScript(const sender: tobject);
    begin
    //翻译界面
      UGMM.LC(Self);
    //验证模块权限
      UGMM.VerifyRunFramePerm(Self);
      RefState(False);
    end;
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Make sure to add code blocks to your code group
    • btExitOnClick:btnExit的OnClick事件,用于退出窗口,如单据处于编辑状态则会出现提示。
      //JScript
      function btExitOnClick(sender)
      //退出窗口,如单据处于编辑状态则会出现提示
      {
        var p = Self.Parent;
        if (dsData.AutoEdit)
        {
            UgSweetAlertClose.CancelButtonText = UGMM.LT("取消");
            UgSweetAlertClose.ConfirmButtonText = UGMM.LT("确定");
            UgSweetAlertClose.Title = UGMM.LT("提示");
            UgSweetAlertClose.Text = UGMM.LT("修改尚未保存,是否退出?");
            UgSweetAlertClose.Show;
        }
        else{
          TUgWebForm(p).Close;
        }
        if (p is TUniTabSheet)
          UniSession.AddJS("document.getElementById(\"" + TUniTabSheet(p).jsid + "_tab-closeEl\").click();");
      }
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      //PasScript
      procedure btExitOnClick(sender: tobject);
      //退出窗口,如单据处于编辑状态则会出现提示
      Var
        p:TComponent;
      Begin
        p:=Self.Parent;
        if dsData.AutoEdit then
        begin
            UgSweetAlertClose.CancelButtonText := UGMM.LT('取消');
            UgSweetAlertClose.ConfirmButtonText := UGMM.LT('确定');
            UgSweetAlertClose.Title := UGMM.LT('提示');
            UgSweetAlertClose.Text := UGMM.LT('修改尚未保存,是否退出?');
            UgSweetAlertClose.Show;
        end
        else
          TUgWebForm(p).Close;
        if p is TUniTabSheet then
          UniSession.AddJS('document.getElementById("' + TUniTabSheet(p).jsid + '_tab-closeEl").click();');
      End;
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      // Make sure to add code blocks to your code group
      • RefState:刷新单据编辑状态的显示。
        //JScript
        function RefState(bool)
        //刷新编辑状态,处于不同的编辑状态时将启用或禁用部分按钮。
        {
          if (bool)
          //编辑状态
          {
            cbFCurrenty.AutoEdit = True;
            cbFTaxType.AutoEdit = True;
            btSave.Enabled = True;
            btEdit.Enabled = False;
            dsData.AutoEdit = True;
            dtsData.Edit;
          }
          else
          //保存状态
          {
            cbFCurrenty.AutoEdit = False;
            cbFTaxType.AutoEdit = False;
            btSave.Enabled = False;
            btEdit.Enabled = True;  
            dsData.AutoEdit = False;
          }
        }
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        //PasScript
        procedure RefState(bool:Boolean;);
        //刷新编辑状态,处于不同的编辑状态时将启用或禁用部分按钮。
        Begin
          if bool Then
          //编辑状态
          Begin
            cbFCurrenty.AutoEdit := True;
            cbFTaxType.AutoEdit := True;
            btSave.Enabled := True;
            btEdit.Enabled := False;
            dsData.AutoEdit := True;
            dtsData.Edit;
          End
          Else
          //保存状态
          Begin
            cbFCurrenty.AutoEdit := False;
            cbFTaxType.AutoEdit := False;
            btSave.Enabled := False;
            btEdit.Enabled := True;  
            dsData.AutoEdit := False;
          End;
        End;
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        // Make sure to add code blocks to your code group
        • btEditOnClick:btnEdit的OnClick事件,修改后,页面切换为修改模式。
          //JScript
          function btEditOnClick(sender)
          //修改
          {
            RefState(True);
          }
          
          1
          2
          3
          4
          5
          6
          //PasScript
          procedure btEditOnClick(sender: tobject);
          //修改
          begin
            RefState(True);
          end;
          
          1
          2
          3
          4
          5
          6
          // Make sure to add code blocks to your code group
          • btSaveOnClick:btnSave的OnClick事件,保存按钮,保存修改。
            //JScript
            function btSaveOnClick(sender)
            //保存
            {
              dtsData.Post;
              dtsData.ApplyUpdates(-1);
              RefState(False);
            }
            
            1
            2
            3
            4
            5
            6
            7
            8
            //PasScript
            procedure btSaveOnClick(sender: tobject);
            //保存
            begin
              dtsData.Post;
              dtsData.ApplyUpdates(-1);
              RefState(False);
            end;
            
            1
            2
            3
            4
            5
            6
            7
            8
            // Make sure to add code blocks to your code group

            # 2.1.5. 多语言设置

              点击FastWeb低代码开发平台菜单导航项中的系统管理-翻译-词条维护。

              收集此页面窗口中所有需要进行翻译的词条(包括程序中设置的多语言项目),点击添加按钮,根据提示填写维护。

            # 2.1.6. 运行效果

            # 2.2. 客户资料查询-多笔数据表单

              点击菜单导航栏中的模块列表(WEB),在打开的模块列表中点击添加按钮,添加标题为客户资料的模块,添加的内容样式如下,主要填写组别、编号、标题、开发用户等内容,使用PasScript的用户编号请填写为 W-EQ-MOD-2130-1,使用JScript的用户编号请填写 W-EQ-MOD-2130-2。填写完成后,点击保存按钮。

              选择刚才创建的标题为客户资料的模块,点击上方的模块设计按钮,进入模块设计界面。

              客户资料的页面设置如下图。

            # 2.2.1. 功能简述

              客户资料的页面按照客户分类进行客户信息的分类展示,此页面包含分组显示表单的模式设计,表格查询等相关的模块设计内容。

            # 2.2.2. 窗体设置

            属性 取值 说明
            Align alClient 布局填满整个客户端

            # 2.2.3. 控件设置

            • 控件说明
            控件名称 控件类型 说明
            UgContainerPanel01 TUgContainerPanel 容器面板控件,用于放置查询内容,按钮控件
            Align:alTop
            edQuery TUgEdit 用于输入查询条件
            EmptyText:输入客户代码或名称
            FieldLabel:客户代码或名称
            FieldLabelAlign:laTop
            btnQuery TUgButton 查询按钮
            Caption:查询
            btnClear TUgButton 清除按钮
            Caption:清除
            UgVerticalLine01 TUgVerticalLine 布局按钮,用于区隔不同功能类型的按钮
            btnAppend TUgButton 新建按钮
            Caption:新建
            btnDelete TUgButton 删除按钮
            Caption:删除
            btnEditor TUgButton 编辑按钮
            Caption:编辑
            UgVerticalLine02 TUgVerticalLine 布局按钮,用于区隔不同功能类型的按钮
            btnRefresh TUgButton 刷新按钮
            Caption:刷新
            btnShowAll TUgButton 显示全部按钮
            Caption:显示全部
            btnExit TUgButton 退出按钮
            Caption:退出
            UgRFDataSet01 TUgRFDataSet 客户数据集
            UgDataSource01 TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为UgRFDataSet01
            UgRFDataSet02 TUgRFDataSet 客户分组数据集
            UgDataSource02 TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为UgRFDataSet02
            UgDBTreeGrid01 TUgDBTreeGrid 树形表格数据集
            Align:alLeft
            DataSource:UgDataSource02
            IdField:FTreeKeyID
            IdParentField:FTreeParentID
            UgDBGrid01 TUgDBGrid 表格数据集
            Align:alClient
            DataSource:UgDataSource01
            UgSweetAlert TUgSweetAlert 消息提示控件
            • UgDBTreeGrid01字段设置

              选择并双击UgDBTreeGrid01控件,打开字段编辑器,根据下图显示的内容进行编辑。点击左上角的+或者-进行新增行或删除行操作。双击FieldName或者Caption可修改对应行的字段名称或者显示标题内容。ReadOnly用于设置字段是否为可读属性。

            • UgDBGrid01字段设置

              选择并双击UgDBGrid01控件,打开字段编辑器,根据下图显示的内容进行编辑。点击左上角的+或者-进行新增行或删除行操作。双击FieldName或者Caption可修改对应行的字段名称或者显示标题内容。ReadOnly用于设置字段是否为可读属性。

            # 2.2.4. 程序设计

              在初始设置程序时,使用JScript用户需勾选pub_js_tarslink与pub_js_messageinfo单元,使用PasScript的用户请勾选pub_pas_tarslink与pub_pas_messageinfo单元。

            • 初始设置:设置显示数据集的初始化内容(仅限PasScript)。
            Begin
              //数据集信息显示
              UgRFDataSet01.Connection := GetRFERP;
              UgRFDataSet02.Connection := GetRFERP;
              UgRFDataSet02.SQL.Text := 'Select FInterID,FGroupCode,FGroupName,FNote,FTreeKeyID,FTreeParenteID,FAbsoluteIndex ' + 
              ' From Basic_CustGroup Order by FGroupCode';
              UgRFDataSet02.Open;
              UgRFDataSet02.First;
              UgRFDataSet01.SQL.Text := 'SELECT * FROM Basic_Cust';
              UgRFDataSet01.Open;
            End.
            
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            • UgWebRunFrameOnAfterRunScript:UgWebRunFram的OnAfterRunScript事件,用于界面初始设置,设定翻译和模块权限。
              //JScript
              function UgWebRunFrameOnAfterRunScript(sender)
              {
                //翻译界面
                UGMM.LC(Self);
                //验证模块权限
                UGMM.VerifyRunFramePerm(Self);
                //数据集信息显示
                UgRFDataSet01.Connection = GetRFERP;
                UgRFDataSet02.Connection = GetRFERP;
                UgRFDataSet02.SQL.Text = "Select FInterID,FGroupCode,FGroupName,FNote,FTreeKeyID,FTreeParenteID,FAbsoluteIndex " + 
                " From Basic_CustGroup Order by FGroupCode";
                UgRFDataSet02.Open;
                UgRFDataSet02.First;
                UgRFDataSet01.SQL.Text = "SELECT * FROM Basic_Cust";
                UgRFDataSet01.Open;
              }
              
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              17
              //PasScript
              procedure UgWebRunFrameOnAfterRunScript(const sender: tobject);
              begin
              //翻译界面
                UGMM.LC(Self);
              //验证模块权限
                UGMM.VerifyRunFramePerm(Self);
              end;
              
              1
              2
              3
              4
              5
              6
              7
              8
              // Make sure to add code blocks to your code group
              • UgDBTreeGrid01OnCellClick:UgDBTreeGrid01的OnCellClick事件,分组按钮点击切换当前分组显示。
                //JScript
                function UgDBTreeGrid01OnCellClick(column)
                //分组按钮点击切换当前分组显示
                {
                	UgRFDataSet01.Filtered = False;
                  UgRFDataSet01.Filter = "FGroupID = " + UgRFDataSet02.FieldByName("FInterID").AsString;
                  UgRFDataSet01.Filtered = True;
                }
                
                
                1
                2
                3
                4
                5
                6
                7
                8
                9
                //PasScript
                procedure UgDBTreeGrid01OnCellClick(column: tunidbgridcolumn);
                //分组按钮点击切换当前分组显示
                begin
                	UgRFDataSet01.Filtered := False;
                  UgRFDataSet01.Filter := 'FGroupID = ' + UgRFDataSet02.FieldByName('FInterID').AsString;
                  UgRFDataSet01.Filtered := True;
                end;
                
                1
                2
                3
                4
                5
                6
                7
                8
                // Make sure to add code blocks to your code group
                • btnQueryOnClick:btnQuery的OnClick事件,点击查询按钮,根据查询编辑框中的内容进行查询。
                  //JScript
                  //查询
                  function btnQueryOnClick(sender)
                  {
                    UgRFDataSet01.SQL.Text = "SELECT * FROM Basic_Cust WHERE FCustCode LIKE  '%" + edQuery.Text + 
                    "%' or FCustName LIKE '%" + edQuery.Text + "%' Order by FCustCode";
                    UgRFDataSet01.Open;
                  }
                  
                  
                  1
                  2
                  3
                  4
                  5
                  6
                  7
                  8
                  9
                  //PasScript
                  //查询
                  procedure btnQueryOnClick(sender: tobject);
                  begin
                    UgRFDataSet01.SQL.Text := 'SELECT * FROM Basic_Cust WHERE FCustCode LIKE  ''%' + edQuery.Text + 
                    '%'' or FCustName LIKE ''%' + edQuery.Text + '%'' Order by FCustCode';
                    UgRFDataSet01.Open;
                  end;
                  
                  1
                  2
                  3
                  4
                  5
                  6
                  7
                  8
                  // Make sure to add code blocks to your code group
                  • btnClearOnClick:btnClear的OnClick事件,清除按钮的点击事件,清除查询条件编辑框中的内容。
                    //JScript
                    //清除
                    function btnClearOnClick(sender)
                    {
                      edQuery.Text = "";
                      UgRFDataSet01.SQL.Text = "SELECT * FROM Basic_Cust";
                      UgRFDataSet01.Open;
                    }
                    
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    //PasScript
                    //清除
                    procedure btnClearOnClick(sender: tobject);
                    begin
                      edQuery.Text := '';
                      UgRFDataSet01.SQL.Text := 'SELECT * FROM Basic_Cust';
                      UgRFDataSet01.Open;
                    end;
                    
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    // Make sure to add code blocks to your code group
                    • btnAppendOnClick:btnAppend的OnClick事件,新增按钮,打开客户资料编辑页面,新增单据信息。
                      //JScript
                      //添加
                      function btnAppendOnClick(sender)
                      {
                        var F,t;
                        //打开客户资料编辑界面W-EQ-MOD-2131-2
                        F = UGMM.GetWebSubForm("W-EQ-MOD-2131-2");
                        F.Caption = UGMM.LT("编辑客户资料");
                        UGMM.LC(F);
                        //主数据集连接
                        t = now;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).Connection = GetRFERP;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).Close;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).SQL.Text = "SELECT * FROM Basic_Cust";
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).Open;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).Append;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).FieldByName("FInterID").AsInteger = GetNodeID;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).FieldByName("FGroupID").AsString = UgRFDataSet02.FieldByName("FInterID").AsString;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).FieldByName("FCreater").AsString = UGMM.Informations.Values["UserFullName"];
                        
                        //客户收货地址
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustAddrs")).Connection = GetRFERP;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustAddrs")).Close;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustAddrs")).SQL.Text = "SELECT * FROM Basic_CustAddrs WHERE FInterID = " 
                        + TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).FieldByName("FInterID").AsString;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustAddrs")).Open;
                        //客户关系人员
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustRelation")).Connection = GetRFERP;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustRelation")).Close; 
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustRelation")).SQL.Text = "SELECT * FROM Basic_CustRelation WHERE FInterID = " 
                        + TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).FieldByName("FInterID").AsString;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustRelation")).Open; 
                        //客户产品
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustMaterial")).Connection = GetRFERP;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustMaterial")).Close;   
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustMaterial")).SQL.Text = "SELECT * FROM Basic_CustMaterial WHERE FInterID = " 
                        + TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).FieldByName("FInterID").AsString;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustMaterial")).Open;   
                        if (F.ShowModal == mrOK) 
                        {
                        
                        }
                        //关闭窗口后从内存释放窗口W-EQ-MOD-2131-2
                        UGMM.DelWebSubForm("W-EQ-MOD-2131-2");
                        btnQueryOnClick(sender);
                      }
                      
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      17
                      18
                      19
                      20
                      21
                      22
                      23
                      24
                      25
                      26
                      27
                      28
                      29
                      30
                      31
                      32
                      33
                      34
                      35
                      36
                      37
                      38
                      39
                      40
                      41
                      42
                      43
                      44
                      45
                      46
                      //PasScript
                      //添加
                      procedure btnAppendOnClick(sender: tobject);
                      Var
                        F:TUniForm;
                        D:TUgRFDataSet;
                        t:TDateTime;
                      begin
                        //打开客户资料编辑界面W-EQ-MOD-2131-1
                        F := UGMM.GetWebSubForm('W-EQ-MOD-2131-1');
                        F.Caption := UGMM.LT('编辑客户资料');
                        UGMM.LC(F);
                        //主数据集连接
                        t := now;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).Connection := GetRFERP;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).Close;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).SQL.Text := 'SELECT * FROM Basic_Cust';
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).Open;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).Append;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).FieldByName('FInterID').AsInteger := GetNodeID;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).FieldByName('FGroupID').AsString := UgRFDataSet02.FieldByName('FInterID').AsString;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).FieldByName('FCreater').AsString := UGMM.Informations.Values['UserFullName'];
                        
                        //客户收货地址
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustAddrs')).Connection := GetRFERP;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustAddrs')).Close;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustAddrs')).SQL.Text := 'SELECT * FROM Basic_CustAddrs WHERE FInterID = ' 
                        + TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).FieldByName('FInterID').AsString;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustAddrs')).Open;
                        //客户关系人员
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustRelation')).Connection := GetRFERP;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustRelation')).Close; 
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustRelation')).SQL.Text := 'SELECT * FROM Basic_CustRelation WHERE FInterID = ' 
                        + TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).FieldByName('FInterID').AsString;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustRelation')).Open; 
                        //客户产品
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustMaterial')).Connection := GetRFERP;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustMaterial')).Close;   
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustMaterial')).SQL.Text := 'SELECT * FROM Basic_CustMaterial WHERE FInterID = ' 
                        + TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).FieldByName('FInterID').AsString;
                        TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustMaterial')).Open;   
                        if F.ShowModal = mrOK then 
                        Begin
                      
                        End;
                        //关闭窗口后从内存释放窗口W-EQ-MOD-2131-1
                        UGMM.DelWebSubForm('W-EQ-MOD-2131-1');
                        btnQueryOnClick(sender);
                      end;
                      
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      17
                      18
                      19
                      20
                      21
                      22
                      23
                      24
                      25
                      26
                      27
                      28
                      29
                      30
                      31
                      32
                      33
                      34
                      35
                      36
                      37
                      38
                      39
                      40
                      41
                      42
                      43
                      44
                      45
                      46
                      47
                      48
                      49
                      // Make sure to add code blocks to your code group
                      • btnDeleteOnClick:btnDelete的OnClick事件,打开删除确认对话框。
                        //JScript
                        //删除,确认对话框
                        function btnDeleteOnClick(sender)
                        {
                          UgSweetAlert.CancelButtonText = UGMM.LT("取消");
                          UgSweetAlert.ConfirmButtonText = UGMM.LT("确定");
                          UgSweetAlert.Title = UGMM.LT("提示");
                          UgSweetAlert.Text = UGMM.LT("是否删除该客户?");
                          UgSweetAlert.Show;
                        }
                        
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        //PasScript
                        //删除,确认对话框
                        procedure btnDeleteOnClick(sender: tobject);
                        Begin
                          UgSweetAlert.CancelButtonText := UGMM.LT('取消');
                          UgSweetAlert.ConfirmButtonText := UGMM.LT('确定');
                          UgSweetAlert.Title := UGMM.LT('提示');
                          UgSweetAlert.Text := UGMM.LT('是否删除该客户?');
                          UgSweetAlert.Show;
                        End;
                        
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        // Make sure to add code blocks to your code group
                        • btnEditorOnClick:btnEditor的OnClick事件,用于打开客户资料编辑页面,编辑客户基础资料信息。
                          //JScript
                          //修改编辑
                          function btnEditorOnClick(sender)
                          {
                            var F,t;
                            //打开客户资料编辑界面W-EQ-MOD-2131-2
                            F = UGMM.GetWebSubForm("W-EQ-MOD-2131-2");   
                            F.Caption = UGMM.LT("编辑客户资料");
                            UGMM.LC(F);
                            //主数据集连接
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).Connection = GetRFERP;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).Close;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).SQL.Text = "SELECT * FROM Basic_Cust";
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).Open;
                            while (TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).FieldByName("FInterID").AsString !=
                            UgRFDataSet01.FieldByName("FInterID").AsString) 
                            {
                               TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).Next;
                            }
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).Edit;
                            //客户收货地址
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustAddrs")).Connection = GetRFERP;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustAddrs")).Close;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustAddrs")).SQL.Text = "SELECT * FROM Basic_CustAddrs WHERE FInterID = " 
                            + TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).FieldByName("FInterID").AsString;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustAddrs")).Open;
                            //客户关系人员
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustRelation")).Connection = GetRFERP;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustRelation")).Close;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustRelation")).SQL.Text = "SELECT * FROM Basic_CustRelation WHERE FInterID = " 
                            + TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).FieldByName("FInterID").AsString;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustRelation")).Open;  
                            //客户产品
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustMaterial")).Connection = GetRFERP;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustMaterial")).Close;   
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustMaterial")).SQL.Text = "SELECT * FROM Basic_CustMaterial WHERE FInterID = " 
                            + TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsGeneral")).FieldByName("FInterID").AsString;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsCustMaterial")).Open;  
                            if (F.ShowModal == mrOK) 
                            {
                            
                            }
                            //关闭窗口后释放窗口W-EQ-MOD-2131-2
                            UGMM.DelWebSubForm("W-EQ-MOD-2131-2");
                            btnQueryOnClick(sender);
                          }
                          
                          
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          14
                          15
                          16
                          17
                          18
                          19
                          20
                          21
                          22
                          23
                          24
                          25
                          26
                          27
                          28
                          29
                          30
                          31
                          32
                          33
                          34
                          35
                          36
                          37
                          38
                          39
                          40
                          41
                          42
                          43
                          44
                          45
                          46
                          47
                          //PasScript
                          //修改编辑
                          procedure btnEditorOnClick(sender: tobject);
                          Var
                            F:TUniForm;
                          begin
                            //打开客户资料编辑界面W-EQ-MOD-2131-1
                            F := UGMM.GetWebSubForm('W-EQ-MOD-2131-1');   
                            F.Caption := UGMM.LT('编辑客户资料');
                            UGMM.LC(F);
                            //主数据集连接
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).Connection := GetRFERP;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).Close;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).SQL.Text := 'SELECT * FROM Basic_Cust';
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).Open;
                            while (TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).FieldByName('FInterID').AsString <> 
                            UgRFDataSet01.FieldByName('FInterID').AsString) do
                            begin
                               TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).Next;
                            end;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).Edit;
                            //客户收货地址
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustAddrs')).Connection := GetRFERP;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustAddrs')).Close;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustAddrs')).SQL.Text := 'SELECT * FROM Basic_CustAddrs WHERE FInterID = ' 
                            + TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).FieldByName('FInterID').AsString;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustAddrs')).Open;
                            //客户关系人员
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustRelation')).Connection := GetRFERP;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustRelation')).Close;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustRelation')).SQL.Text := 'SELECT * FROM Basic_CustRelation WHERE FInterID = ' 
                            + TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).FieldByName('FInterID').AsString;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustRelation')).Open;  
                            //客户产品
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustMaterial')).Connection := GetRFERP;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustMaterial')).Close;   
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustMaterial')).SQL.Text := 'SELECT * FROM Basic_CustMaterial WHERE FInterID = ' 
                            + TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsGeneral')).FieldByName('FInterID').AsString;
                            TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsCustMaterial')).Open;  
                            if F.ShowModal = mrOK then 
                            Begin
                          
                            End;
                            //关闭窗口后释放窗口W-EQ-MOD-2131-1
                            UGMM.DelWebSubForm('W-EQ-MOD-2131-1');
                            btnQueryOnClick(sender);
                          end;
                          
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          14
                          15
                          16
                          17
                          18
                          19
                          20
                          21
                          22
                          23
                          24
                          25
                          26
                          27
                          28
                          29
                          30
                          31
                          32
                          33
                          34
                          35
                          36
                          37
                          38
                          39
                          40
                          41
                          42
                          43
                          44
                          45
                          46
                          47
                          // Make sure to add code blocks to your code group
                          • btnExitOnClick:btnExit的OnClick事件,退出当前窗口。
                            //JScript
                            //退出
                            function btnExitOnClick(sender)
                            {
                              var p = Self.Parent;
                              if (p is TUgWebForm)
                              {
                                TUgWebForm(p).Close;
                              }
                              if (p is TUniTabSheet)
                                UniSession.AddJS("document.getElementById(\"" + TUniTabSheet(p).jsid + "_tab-closeEl\").click();");
                            }
                            
                            1
                            2
                            3
                            4
                            5
                            6
                            7
                            8
                            9
                            10
                            11
                            12
                            //PasScript
                            //退出
                            procedure btnExitOnClick(sender: tobject);
                            Var
                              p:TComponent;
                            Begin
                              p:=Self.Parent;
                              if p is TUgWebForm then
                              Begin
                                TUgWebForm(p).Close;
                              End;
                              if p is TUniTabSheet then
                                UniSession.AddJS('document.getElementById("' + TUniTabSheet(p).jsid + '_tab-closeEl").click();');
                            End;
                            
                            1
                            2
                            3
                            4
                            5
                            6
                            7
                            8
                            9
                            10
                            11
                            12
                            13
                            14
                            // Make sure to add code blocks to your code group
                            • btnRefreshOnClick:btnRefresh的OnClick事件,刷新页面显示。
                              //JScript
                              //刷新页面显示
                              function btnRefreshOnClick(sender)
                              {
                                //重新更新数据集
                                UgRFDataSet01.Connection = GetRFERP;
                                UgRFDataSet02.Connection = GetRFERP;
                                UgRFDataSet02.SQL.Text = "Select FInterID,FGroupCode,FGroupName,FNote,FTreeKeyID,FTreeParenteID,FAbsoluteIndex From  " + 
                                " Basic_CustGroup Order by FGroupCode";
                                UgRFDataSet02.Open;
                                UgRFDataSet02.First;
                                UgRFDataSet01.SQL.Text = "SELECT * FROM Basic_Cust";
                                UgRFDataSet01.Open;
                                //UgDBGrid01.Refresh;
                              }
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              //PasScript
                              //刷新页面显示
                              procedure btnRefreshOnClick(sender: tobject);
                              begin
                                //重新更新数据集
                                UgRFDataSet01.Connection := GetRFERP;
                                UgRFDataSet02.Connection := GetRFERP;
                                UgRFDataSet02.SQL.Text := 'Select FInterID,FGroupCode,FGroupName,FNote,FTreeKeyID,FTreeParenteID,FAbsoluteIndex From  ' + 
                                ' Basic_CustGroup Order by FGroupCode';
                                UgRFDataSet02.Open;
                                UgRFDataSet02.First;
                                UgRFDataSet01.SQL.Text := 'SELECT * FROM Basic_Cust';
                                UgRFDataSet01.Open;
                                //UgDBGrid01.Refresh;
                              end;
                              
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              // Make sure to add code blocks to your code group
                              • btnShowAllOnClick:btnShowAll的OnClick事件,显示全部记录。
                                //JScript
                                //显示全部
                                function btnShowAllOnClick(sender)
                                {
                                	UgRFDataSet01.Filtered = False;
                                }
                                
                                1
                                2
                                3
                                4
                                5
                                6
                                //PasScript
                                //显示全部
                                procedure btnShowAllOnClick(sender: tobject);
                                begin
                                	UgRFDataSet01.Filtered := False;
                                end;
                                
                                1
                                2
                                3
                                4
                                5
                                6
                                // Make sure to add code blocks to your code group
                                • UgSweetAlertOnConfirm:UgSweetAlert的OnConfirm事件,用于确认执行删除客户资料的操作。
                                  //JScript
                                  function UgSweetAlertOnConfirm(sender)
                                  //删除客户资料
                                  {
                                    var AStoredProc,vRAISEMSG,vMSG,i,j;
                                    //存储过程获取,准备参数
                                    AStoredProc = new TUgRFStroedProc(nil);
                                    AStoredProc.Connection = GETRFERP;
                                    try{
                                      AStoredProc.StoredProcName = "sp_Basic_Cust";
                                      AStoredProc.Prepare;
                                      if (AStoredProc.Prepared)
                                      {
                                        //参数赋值
                                        AStoredProc.ParamByName("FDataID").AsString = UgRFDataSet01.FieldByName("FInterID").AsString;
                                        AStoredProc.ParamByName("Flag").AsString = "Delete";
                                        AStoredProc.ParamByName("FUserCode").AsString = UGMM.Informations.Values["UserFullName"];
                                        if (AStoredProc.FindParam("FMsg") != nil)
                                          AStoredProc.ParamByName("FMsg").AsString = "";
                                        try{
                                          //执行存储过程
                                          AStoredProc.ExecProc;
                                          }
                                         Except{
                                            vRAISEMSG=ExceptionMessage;
                                            //信息显示
                                            i = Pos("SQMESSAGE", vRAISEMSG);
                                            j = Pos("[SQL Server]", vRAISEMSG);
                                            vMSG = Copy(vRAISEMSG, i, Length(vRAISEMSG) - i + 1);
                                      
                                  
                                            // 非格式化消息提示
                                            if (i == 0)
                                            {
                                              ShowSweetAlert(atError,UGMM.LT("提示"),Copy(vRAISEMSG, j + 12, Length(vRAISEMSG) - j + 1));
                                              //Exit;
                                              return;
                                            }
                                          }
                                          btnQueryOnClick(sender);
                                        }
                                      }
                                    finally{
                                      AStoredProc.Free;
                                    }
                                  }
                                  
                                  1
                                  2
                                  3
                                  4
                                  5
                                  6
                                  7
                                  8
                                  9
                                  10
                                  11
                                  12
                                  13
                                  14
                                  15
                                  16
                                  17
                                  18
                                  19
                                  20
                                  21
                                  22
                                  23
                                  24
                                  25
                                  26
                                  27
                                  28
                                  29
                                  30
                                  31
                                  32
                                  33
                                  34
                                  35
                                  36
                                  37
                                  38
                                  39
                                  40
                                  41
                                  42
                                  43
                                  44
                                  45
                                  46
                                  //PasScript
                                  procedure UgSweetAlertOnConfirm(sender: tobject);
                                  //删除客户资料
                                  Var
                                    AStoredProc: TUgRFStroedProc;
                                    vRAISEMSG,vMSG: String;
                                    i, j: Integer;
                                  begin
                                    //存储过程获取,准备参数
                                    AStoredProc := TUgRFStroedProc.Create(nil);
                                    AStoredProc.Connection := GETRFERP;
                                    try
                                      AStoredProc.StoredProcName := 'sp_Basic_Cust';
                                      AStoredProc.Prepare;
                                      if AStoredProc.Prepared then
                                      begin
                                        //参数赋值
                                        AStoredProc.ParamByName('FDataID').AsString := UgRFDataSet01.FieldByName('FInterID').AsString;
                                        AStoredProc.ParamByName('Flag').AsString := 'Delete';
                                        AStoredProc.ParamByName('FUserCode').AsString := UGMM.Informations.Values['UserFullName'];
                                        if AStoredProc.FindParam('FMsg') <> nil then
                                          AStoredProc.ParamByName('FMsg').AsString := '';
                                        try
                                          //执行存储过程
                                          AStoredProc.ExecProc;
                                         Except{ExceptionMessage}
                                            vRAISEMSG:=ExceptionMessage;
                                            //信息显示
                                            i := Pos('SQMESSAGE', vRAISEMSG);
                                            j := Pos('[SQL Server]', vRAISEMSG);
                                            vMSG := Copy(vRAISEMSG, i, Length(vRAISEMSG) - i + 1);
                                      
                                  
                                            // 非格式化消息提示
                                            if i = 0 then
                                            begin
                                              ShowSweetAlert(atError,UGMM.LT('提示'),Copy(vRAISEMSG, j + 12, Length(vRAISEMSG) - j + 1));
                                              Exit;
                                            end;
                                          end;
                                          btnQueryOnClick(sender);
                                      end;
                                    finally
                                      AStoredProc.Free;
                                    end;
                                  end;
                                  
                                  1
                                  2
                                  3
                                  4
                                  5
                                  6
                                  7
                                  8
                                  9
                                  10
                                  11
                                  12
                                  13
                                  14
                                  15
                                  16
                                  17
                                  18
                                  19
                                  20
                                  21
                                  22
                                  23
                                  24
                                  25
                                  26
                                  27
                                  28
                                  29
                                  30
                                  31
                                  32
                                  33
                                  34
                                  35
                                  36
                                  37
                                  38
                                  39
                                  40
                                  41
                                  42
                                  43
                                  44
                                  45
                                  46
                                  // Make sure to add code blocks to your code group

                                  # 2.2.5. 多语言设置

                                    点击FastWeb低代码开发平台菜单导航项中的系统管理-翻译-词条维护。

                                    收集此页面窗口中所有需要进行翻译的词条(包括程序中设置的多语言项目),点击添加按钮,根据提示填写维护。

                                  # 2.2.6. 运行效果

                                  # 2.3. 客户资料编辑-多笔数据表单

                                    点击菜单导航栏中的模块列表(WEB),在打开的模块列表中点击添加按钮,添加标题为客户资料编辑的模块,添加的内容样式如下,主要填写组别、编号、标题、开发用户等内容,使用PasScript的用户编号请填写为 W-EQ-MOD-2131-1,使用JScript的用户编号请填写 W-EQ-MOD-2131-2。填写完成后,点击保存按钮。

                                    选择刚才创建的标题为客户资料编辑的模块,点击上方的模块设计按钮,进入模块设计界面。

                                    客户资料编辑的页面设置如下图。

                                  # 2.3.1. 功能简述

                                    客户资料编辑用于对客户资料的信息进行详细设置,其中引用了部分查找表需要使用的业务员资料、币种资料、客户分组、布种资料等数据集信息,也包括了数据库图片的上传与修改,清除等设置方式。

                                  # 2.3.2. 窗体设置

                                  属性 取值 说明
                                  Height 607 主窗体的高度(像素)
                                  Width 850 主窗体的宽度(像素)

                                  # 2.3.3. 控件设置

                                  • 非数据感知控件说明

                                    页面中注意TUgPanel类型的控件需要清除Caption属性中原有的字符内容。

                                  控件名称 控件类型 说明
                                  UgPanel01 TUgPanel 面板控件,作为布局容器使用,位于顶部位置
                                  UgGroupBox01 TUgGroupBox 分组框控件,作为布局容器使用,位于Panel下方的置顶位置
                                  Caption:基本信息
                                  PageControl01 TUgPageControl 页面控件,占据除顶部空间外所有的位置
                                  在窗体结构与检视器中单击选择UgPageControl01,点击检视器上方的新增按钮新增标签页TUniabSheet新增四个标签页面
                                  tsGeneral TUniTabSheet UgPageControl01中的标签页面1
                                  Caption:概览
                                  tsCustAddrs TUniTabSheet UgPageControl01中的标签页面2
                                  Caption:客户收货地址
                                  tsCustRelation TUniTabSheet UgPageControl01中的标签页面3
                                  Caption:关系人员
                                  tsCustMaterial TUniTabSheet UgPageControl01中的标签页面3
                                  Caption:客户产品
                                  btnFirst TUgBitBtn 首项按钮,点击跳转至记录的首页
                                  Caption:首项
                                  btnPrior TUgBitBtn 前项按钮,点击跳转至记录的前项
                                  Caption:前项
                                  btnNext TUgBitBtn 后项按钮,点击跳转至记录的后项
                                  Caption:后项
                                  btnLast TUgBitBtn 末项按钮,点击跳转至记录的末项
                                  Caption:末项
                                  btnNew TUgBitBtn 新建按钮,点击以新建客户资料
                                  Caption:新建
                                  btnSave TUgBitBtn 保存按钮,点击以保存资料的更改
                                  Caption:保存
                                  btnDelete TUgBitBtn 删除按钮,点击以删除当前的客户资料
                                  Caption:删除
                                  btnUpdate TUgBitBtn 更新按钮,点击以更新单据中的客户资料
                                  Caption:更新
                                  btnExit TUgBitBtn 退出按钮,点击以退出窗口
                                  Caption:退出
                                  UgFileUpload01 TUgUgFileUpload 打开上传对话框
                                  dtsGeneral TUgRFDataSet 客户资料信息数据集
                                  dsGeneral TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsGeneral
                                  dtsCustGroup TUgRFDataSet 客户分组信息数据集
                                  dsCustGroup TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsCustGroup
                                  dtsInvoiceCust TUgRFDataSet 结账客户信息数据集
                                  dsInvoiceCust TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsInvoiceCust
                                  dtsFDistrict TUgRFDataSet 区域信息数据集
                                  dsFDistrict TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsFDistrict
                                  UgSweetAlert TUgSweetAlert 提示控件,根据实际情况使用
                                  UgSweetAlert1 TUgSweetAlert 提示控件,根据实际情况使用
                                  UgSweetAlert2 TUgSweetAlert 提示控件,根据实际情况使用
                                  • UgGroupBox01数据感知控件说明

                                    此页面中首页绑定的数据源DataSource为dsGeneral。以下数据感知控件需修改每一个控件的以下属性。TUgDBImage、TUgDBCheckBox控件类型的除外。

                                  属性 取值 说明
                                  FieldLabel 取值对应为数据字段的中文名称,作为控件显示的标签
                                  FieldLabelWidth 60 设置标签显示字段的宽度
                                  数据字段名称 中文名称 对应控件类型 控件名称 备注
                                  FGroupID 分组 TUgDBLookupComboBox lkupGroupID 列表绑定的数据源
                                  ListSource:dsCustGroup
                                  列表显示的字段名
                                  ListField:FGroupName
                                  列表对应返回的字段值
                                  KeyField: FGroupID
                                  FCustCode 客户代码 TUgDBEdit edFCustCode
                                  FShortName 客户简称 TUgDBEdit edFShortName
                                  FCustName 客户简称 TUgDBEdit edFCustName
                                  FCorporation 法人代表 TUgDBEdit edFCorporation
                                  FInvoiceCustName 结账客户 TUgDBLookupComboBox lkupFInvoiceCustName 列表绑定的数据源
                                  ListSource:dsInvoiceCust
                                  列表显示的字段名
                                  ListField:FInvoiceCustName
                                  列表对应返回的字段值
                                  KeyField: FInvoiceCustName
                                  FDistrict 区域 TUgDBLookupComboBox lkupFDistrict 列表绑定的数据源
                                  ListSource:dsFDistrict
                                  列表显示的字段名
                                  ListField:FName
                                  列表对应返回的字段值
                                  KeyField: FName
                                  FForeignName 外语描述 TUgDBEdit edFForeignName
                                  FCustLogo 公司图标 TUgDBImage CustLogo
                                  FCustomerType 客户类型 TUgDBRadioGroup rgFCustomerType 设置选项Items.CommaText := '国内客户,国外客户'
                                  FfrozenFor 冻结 TUgDBCheckBox chkFforzenFor Caption:冻结
                                  • tsGeneral非数据感知控件说明
                                  控件名称 控件类型 说明
                                  dtsFCurrency TUgRFDataSet 货币资料信息数据集
                                  dsFCurrency TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsFCurrency
                                  dtsEmp TUgRFDataSet 员工资料信息数据集
                                  dsEmp TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsEmp
                                  dtsInvoiceType TUgRFDataSet 发票类型信息数据集
                                  dsInvoiceType TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsInvoiceType
                                  dtsSaleType TUgRFDataSet 发票类型信息数据集
                                  dsSaleType TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsSaleType
                                  dtsPayItem TUgRFDataSet 付款方式信息数据集
                                  dsPayItem TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsPayItem
                                  dtsSettleName TUgRFDataSet 结算方式信息数据集
                                  dsSettleName TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsSettleName
                                  • tsGeneral数据感知控件说明

                                    此页面中首页绑定的数据源DataSource为dsGeneral,以下数据感知控件需修改每一个控件的以下属性。TUgDBImage、TUgDBCheckBox控件类型的除外。

                                  属性 取值 说明
                                  FieldLabel 取值对应为数据字段的中文名称,作为控件显示的标签
                                  FieldLabelWidth 60 设置标签显示字段的宽度
                                  数据字段名称 中文名称 对应控件类型 控件名称 备注
                                  FCurrencyID 币别 TUgDBLookupComboBox lkupFCurrencyID 列表绑定的数据源
                                  ListSource:dsFCurrency
                                  列表显示的字段名
                                  ListField:FCurrencyName
                                  列表对应返回的字段值
                                  KeyField: FCurrencyID
                                  FExchangeRate 汇率 TUgDBEdit edFExchangeRate
                                  FEmpName 业务员 TUgDBLookupComboBox lkupFEmpName 列表绑定的数据源
                                  ListSource:dsEmp
                                  列表显示的字段名
                                  ListField:FEmpName
                                  列表对应返回的字段值
                                  KeyField: FEmpName
                                  FDeptName 部门名称 TUgDBEdit edFDeptName 设定此控件为只读
                                  ReadOnly:True
                                  FPhone1 电话1 TUgDBEdit edFPhone1
                                  FPhone2 电话2 TUgDBEdit edFPhone2
                                  FContacts 联系人 TUgDBEdit edFContacts
                                  FFax 传真 TUgDBEdit edFFax
                                  FTel 移动电话 TUgDBEdit edFTel
                                  FZipCode 邮政编码 TUgDBEdit edFZipCode
                                  FEmail 电子邮箱 TUgDBEdit edFEmail
                                  FSaleType 销售类型 TUgDBLookupComboBox lkupFSaleType 列表绑定的数据源
                                  ListSource:dsSaleType
                                  列表显示的字段名
                                  ListField:FName
                                  列表对应返回的字段值
                                  KeyField: FName
                                  FInvoiceType 发票类型 TUgDBLookupComboBox lkupFInvoiceType 列表绑定的数据源
                                  ListSource:dsInvoiceType
                                  列表显示的字段名
                                  ListField:FName
                                  列表对应返回的字段值
                                  KeyField: FName
                                  FCreditLine 信用额度 TUgDBEdit edFCreditLine
                                  FCreditLineDay 信用天数 TUgDBEdit edFCreditLineDay
                                  FAddress 地址 TUgDBEdit edFAddress
                                  FHouseBank 开户银行 TUgDBEdit edFHouseBank
                                  FHouseBnkAct 开户账号 TUgDBEdit edFHouseBnkAct
                                  FTaxCode 税号 TUgDBEdit edFTaxCode
                                  FPayItemName 付款方式 TUgDBLookupComboBox lkupFPayItemName 列表绑定的数据源
                                  ListSource:dsPayItem
                                  列表显示的字段名
                                  ListField:FName
                                  列表对应返回的字段值
                                  KeyField: FName
                                  FSettleName 结算方式 TUgDBLookupComboBox lkupFPayItemName 列表绑定的数据源
                                  ListSource:dsSettle
                                  列表显示的字段名
                                  ListField:FName
                                  列表对应返回的字段值
                                  KeyField: FName
                                  FNote 备注 TUgDBMemo mmFNote
                                  FCreater 创建用户 TUgDBEdit edCreater
                                  FLstModDate 最后修改日期 TUgDBEdit edLstModDate 此控件需设置FieldLabelWidth请保持默认值100,如改为60文字显示内容狭小
                                  • tsCustAddrs控件说明
                                  控件名称 控件类型 说明
                                  dtsCustAddrs TUgRFDataSet 客户收货地址资料信息数据集
                                  dsCustAddrs TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsCustAddrs
                                  UgContainerPanel01 TUgContainerPanel 页面中置顶的布局控件容器,用于放置按钮
                                  UgPanel02 TUgPanel 页面中置右的布局控件容器,用于放置数据感知控件
                                  btnCustAddrsAppendRow TUgBitBtn 新增行按钮
                                  Caption:新增行
                                  btnCustAddrsDelRow TUgBitBtn 删除行按钮
                                  Caption:删除行
                                  dgCustAddress TUgDBGrid 客户收货地址表格
                                  DataSource:dsCustAddrs
                                  • tsCutsAddrs数据控件说明

                                    此页面中首页绑定的数据源DataSource为dsCustAddrs,以下数据感知控件需修改每一个控件的以下属性。

                                  属性 取值 说明
                                  FieldLabel 取值对应为数据字段的中文名称,作为控件显示的标签
                                  FieldLabelWidth 60 设置标签显示字段的宽度
                                  数据字段名称 中文名称 对应控件类型 控件名称 备注
                                  FCompany 收货公司 TUgDBEdit edCustAddressFCompany
                                  FAddress 公司地址 TUgDBEdit edCustAddressFAddress
                                  FPerson 收货人 TUgDBEdit edFPerson
                                  FFax 传真 TUgDBEdit edCustAddressFFax
                                  FPhone 电话 TUgDBEdit edCustAddressFPhone
                                  FEMail 邮箱 TUgDBEdit edCustAddressFEMail
                                  • dgCustAddress字段设置

                                    选择并双击dgCustAddress控件,打开字段编辑器,根据下图显示的内容进行编辑。点击左上角的+或者-进行新增行或删除行操作。双击FieldName或者Caption可修改对应行的字段名称或者显示标题内容。ReadOnly用于设置字段是否为可读属性。

                                  • tsCustRelation控件说明
                                  控件名称 控件类型 说明
                                  dtsCustRelation TUgRFDataSet 关系人员信息数据集
                                  dsCustRelation TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsCustRelation
                                  UgContainerPanel03 TUgPanel 页面中置顶的布局控件容器,用于放置按钮
                                  btnCustRelationAppendRow TUgBitBtn 新增行按钮
                                  Caption:新增行
                                  btnCustRelationDelRow TUgBitBtn 删除行按钮
                                  Caption:删除行
                                  dgCustRelation TUgDBGrid 关系人员表格
                                  DataSource:dsCustRelation
                                  • tsCustRelation数据控件说明

                                    此页面中首页绑定的数据源DataSource为dsCustRelation,以下数据感知控件需修改每一个控件的以下属性。

                                  属性 取值 说明
                                  FieldLabel 取值对应为数据字段的中文名称,作为控件显示的标签
                                  FieldLabelWidth 60 设置标签显示字段的宽度
                                  数据字段名称 中文名称 对应控件类型 控件名称 备注
                                  FEmpName 姓名 TUgDBEdit edCustRelationFEmpName
                                  FSex 性别 TUgDBComboBox cbCustRealtionFSex
                                  FBirthDate 出生日期 TUgDBDateTimePicker dtpCustRelationFBirthdate
                                  FWeddingDate 结婚日期 TUgDBDateTimePicker dtpCustRelationFWeddingDate
                                  FNativePlace 籍贯 TUgDBEdit edCustRelationFNativePlace
                                  FDeptName 部门 TUgDBEdit edCustRelationFDeptName
                                  FPosition 部门 TUgDBEdit edCustRelationFPosition
                                  FInfluence 影响力 TUgDBEdit edCustRelationFInfluence
                                  FTel 移动电话 TUgDBEdit edCustRelationFTel
                                  FFax 传真号码 TUgDBEdit edCustRelationFFax
                                  FPhone 电话号码 TUgDBEdit edCustRelationFPhone
                                  FEMail 邮箱 TUgDBEdit edCustRelationFEMail
                                  FCharacter 性格 TUgDBEdit edCustRelationFCharacter
                                  • dgCustRelation字段设置

                                    选择并双击dgCustRelation控件,打开字段编辑器,根据下图显示的内容进行编辑。点击左上角的+或者-进行新增行或删除行操作。双击FieldName或者Caption可修改对应行的字段名称或者显示标题内容。ReadOnly用于设置字段是否为可读属性。

                                  • tsCustMaterial控件说明

                                    页面中注意修改TBitBtn类型的控件的文字大小Font.Size属性为12,TPanel类型的控件需要清除Caption属性中原有的字符内容。

                                  控件名称 控件类型 说明
                                  dtsCustMaterial TUgRFDataSet 客户产品信息数据集
                                  dsCustMaterial TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsCustMaterial
                                  UgContainerPanel04 TUgPanel 页面中置顶的布局控件容器,用于放置按钮
                                  UgContainerPanel05 TUgPanel 页面中置右的布局控件容器,用于放置数据感知控件
                                  btnCustMaterialAppendRow TUgBitBtn 新增行按钮
                                  Caption:新增行
                                  btnCustMaterialDelRow TUgBitBtn 删除行按钮
                                  Caption:删除行
                                  dgCustMaterial TUgDBGrid 关系人员表格
                                  DataSource:dsCustMaterial
                                  dtsItem TUgRFDataSet 物料信息数据集
                                  dsItem TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsItem
                                  • tsCustRelation数据控件说明

                                    此页面中首页绑定的数据源DataSource为dsCustMaterial,以下数据感知控件需修改每一个控件的以下属性。

                                  属性 取值 说明
                                  FieldLabel 取值对应为数据字段的中文名称,作为控件显示的标签
                                  FieldLabelWidth 85 设置标签显示字段的宽度
                                  数据字段名称 中文名称 对应控件类型 控件名称 备注
                                  FCustItemCode 客户物料代码 TUgDBEdit edCustMaterialFCustItemCode
                                  FCustItemName 客户物料名称 TUgDBEdit edCustMaterialFCustItemName
                                  FItemCode 物料代码 TUgDBLookupComboBox lkupCustMaterialFItemCode 列表绑定的数据源
                                  ListSource:dsItem
                                  列表显示的字段名
                                  ListField:FItemCode
                                  列表对应返回的字段值
                                  KeyField: FItemCode
                                  FItemName 物料名称 TUgDBLookupComboBox lkupCustMaterialFItemName 列表绑定的数据源
                                  ListSource:dsItem
                                  列表显示的字段名
                                  ListField:FItemName
                                  列表对应返回的字段值
                                  KeyField: FItemName
                                  FItemSpec 规格 TUgDBEdit edCustMaterialFItemSpec
                                  FStandPrice 标准价 TUgDBEdit edCustMaterialFStandPrice
                                  FSalePrice 销售价 TUgDBEdit edCustMaterialFSalePrice
                                  FWhUnit 库存单位 TUgDBEdit edCustMaterialFWhUnit
                                  FPackMethod 包装方式 TUgEdit edMaterialCustFPackMethod
                                  FPackQty 包装数量 TUgEdit edCustMaterialFPackQty
                                  FPackUnit 包装单位 TUgEdit edCustMaterialFPackUnit
                                  FNote 备注 TMemo edCustMaterialFPackUnit
                                  • dgCustMaterial字段设置

                                    选择并双击dgCustMaterial控件,打开字段编辑器,根据下图显示的内容进行编辑。点击左上角的+或者-进行新增行或删除行操作。双击FieldName或者Caption可修改对应行的字段名称或者显示标题内容。ReadOnly用于设置字段是否为可读属性。

                                  # 2.3.4. 程序设计

                                    在初始设置程序时,使用JScript用户需勾选pub_js_tarslink与pub_js_messageinfo单元,使用PasScript的用户请勾选pub_pas_tarslink与pub_pas_messageinfo单元。

                                  • 初始设置:设置显示数据集的初始化内容。(仅限PasScript)
                                  Begin
                                    //客户分类查找表
                                    dtsCustGroup.Connection := GetRFERP;
                                    dtsCustGroup.SQL.Text := 'SELECT FInterID AS FGroupID,FGroupName FROM Basic_CustGroup';
                                    dtsCustGroup.Open;
                                    
                                    //结账客户查找表
                                    dtsInvoiceCust.Connection := GetRFERP;
                                    dtsInvoiceCust.SQL.Text := 'SELECT FInterID AS FInVoiceCustID,FCustCode AS FInvoiceCustCode,FCustName AS ' + 
                                    'FInvoiceCustName FROM Basic_Cust';
                                    dtsInvoiceCust.Open; 
                                    
                                    //区域
                                    dtsFDistrict.Connection := GetRFERP;
                                    dtsFDistrict.SQL.Text := 'SELECT a.FName,a.FCode '
                                  	+ 'FROM dbo.Basic_CommonData A '
                                  	+ 'INNER JOIN Basic_CommonDataType b ON a.FTypeID = b.FInterID '
                                  	+ 'WHERE b.FDataName = ''' + UGMM.LT('地区') + '''';
                                    dtsFDistrict.Open; 
                                    
                                    //业务员
                                    dtsEmp.Connection := GetRFERP;
                                    dtsEmp.SQL.Text := 'SELECT FInterID AS FEmpID,FEmpCode,FEmpName,FDeptID,FDeptCode,FDeptName FROM Basic_Employee';
                                    dtsEmp.Open;
                                    
                                    //币种资料
                                    dtsCurrency.Connection := GetRFERP;
                                    dtsCurrency.SQL.Text := 'SELECT FCode as FCurrencyCode,FName as FCurrencyName,FInterID AS FCurrencyID,FExRate AS '+ 
                                    'FExchangeRate FROM Basic_Currency';
                                    dtsCurrency.Open;
                                    
                                    //销售类型
                                    dtsSaleType.Connection := GetRFERP;
                                    dtsSaleType.SQL.Text := 'SELECT a.FName,a.FInterID '
                                  	+ 'FROM dbo.Basic_CommonData A '
                                  	+ 'INNER JOIN Basic_CommonDataType b ON a.FTypeID = b.FInterID '
                                  	+ 'WHERE b.FDataName = ''' + UGMM.LT('销售类型') + '''';
                                    dtsSaleType.Open;
                                    
                                    //发票类型
                                    dtsInvoiceType.Connection := GetRFERP;
                                    dtsInvoiceType.SQL.Text := 'SELECT a.FName,a.FInterID '
                                  	+ 'FROM dbo.Basic_CommonData A '
                                  	+ 'INNER JOIN Basic_CommonDataType b ON a.FTypeID = b.FInterID '
                                  	+ 'WHERE b.FDataName = ''' + UGMM.LT('发票类型') + '''';
                                    dtsInvoiceType.Open;
                                    
                                    //付款方式
                                    dtsPayItem.Connection := GetRFERP;
                                    dtsPayItem.SQL.Text := 'SELECT a.FName,a.FInterID '
                                  	+ 'FROM dbo.Basic_CommonData A '
                                  	+ 'INNER JOIN Basic_CommonDataType b ON a.FTypeID = b.FInterID '
                                  	+ 'WHERE b.FDataName = ''' + UGMM.LT('付款方式') + '''';
                                    dtsPayItem.Open;
                                    
                                    //结算方式
                                    dtsSettle.Connection := GetRFERP;
                                    dtsSettle.SQL.Text := 'SELECT a.FName,a.FInterID '
                                  	+ 'FROM dbo.Basic_CommonData A '
                                  	+ 'INNER JOIN Basic_CommonDataType b ON a.FTypeID = b.FInterID '
                                  	+ 'WHERE b.FDataName = ''' + UGMM.LT('结算方式') + '''';
                                    dtsSettle.Open;
                                    
                                    //物料信息
                                    dtsItem.Connection := GetRFERP;
                                    dtsItem.SQL.Text := 'select A.FInterID as FItemID,A.FItemCode,A.FItemName,A.FItemSpec,A.FUnitID,A.FUnitCode,A.FUnitName, '
                                  	+ 'b.FCoefficient,dbo.fun_GetPY(A.FItemName) as PY from Basic_Item A  '
                                  	+ 'left join basic_Unit B on a.FUnitID = b.FInterID '
                                  	+ 'left join Basic_ItemGroup c on a.FGroupID = c.FInterID '
                                  	+ 'where A.FTypeID=1  and isnull(FfrozenFor,0) = 0 '
                                  	+ 'Order by FItemCode';
                                    dtsItem.Open;
                                    //分组类型的初始化设置
                                    rgFCustomerType.Items.CommaText := UGMM.LT('国内客户,国外客户');
                                  End.
                                  
                                  1
                                  2
                                  3
                                  4
                                  5
                                  6
                                  7
                                  8
                                  9
                                  10
                                  11
                                  12
                                  13
                                  14
                                  15
                                  16
                                  17
                                  18
                                  19
                                  20
                                  21
                                  22
                                  23
                                  24
                                  25
                                  26
                                  27
                                  28
                                  29
                                  30
                                  31
                                  32
                                  33
                                  34
                                  35
                                  36
                                  37
                                  38
                                  39
                                  40
                                  41
                                  42
                                  43
                                  44
                                  45
                                  46
                                  47
                                  48
                                  49
                                  50
                                  51
                                  52
                                  53
                                  54
                                  55
                                  56
                                  57
                                  58
                                  59
                                  60
                                  61
                                  62
                                  63
                                  64
                                  65
                                  66
                                  67
                                  68
                                  69
                                  70
                                  71
                                  72
                                  73
                                  74
                                  75
                                  • UpdateCustDetail:用于更新客户资料的明细信息。
                                    //JScript
                                    //更新客户资料的其他明细信息
                                    function UpdateCustDetail()
                                    {
                                      //客户收货地址更新
                                    	if (dtsCustAddrs.RowCount > 0)
                                      {
                                          dtsCustAddrs.Edit;
                                        	dtsCustAddrs.Post;
                                         	dtsCustAddrs.ApplyUpdates(-1);      
                                      }
                                      //客户关系更新    
                                    	if (dtsCustRelation.RowCount > 0)
                                      {
                                        dtsCustRelation.Edit;
                                        dtsCustRelation.Post;
                                        dtsCustRelation.ApplyUpdates(-1);
                                      }
                                      //客产品更新    
                                    	if (dtsCustMaterial.RowCount > 0)
                                      {
                                        dtsCustMaterial.Edit;
                                        dtsCustMaterial.Post;
                                        dtsCustMaterial.ApplyUpdates(-1);
                                      }
                                    }
                                    
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    12
                                    13
                                    14
                                    15
                                    16
                                    17
                                    18
                                    19
                                    20
                                    21
                                    22
                                    23
                                    24
                                    25
                                    26
                                    //PasScript
                                    //更新客户资料的其他明细信息
                                    Procedure UpdateCustDetail;
                                    Begin
                                      //客户收货地址更新
                                    	if dtsCustAddrs.RowCount > 0 Then
                                      Begin
                                          dtsCustAddrs.Edit;
                                        	dtsCustAddrs.Post;
                                         	dtsCustAddrs.ApplyUpdates(-1);      
                                    	End;
                                      //客户关系更新    
                                    	if dtsCustRelation.RowCount > 0 Then
                                      Begin
                                        dtsCustRelation.Edit;
                                        dtsCustRelation.Post;
                                        dtsCustRelation.ApplyUpdates(-1);
                                    	End;
                                      //客产品更新    
                                    	if dtsCustMaterial.RowCount > 0 Then
                                      Begin
                                        dtsCustMaterial.Edit;
                                        dtsCustMaterial.Post;
                                        dtsCustMaterial.ApplyUpdates(-1);
                                    	End;
                                    End;
                                    
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    12
                                    13
                                    14
                                    15
                                    16
                                    17
                                    18
                                    19
                                    20
                                    21
                                    22
                                    23
                                    24
                                    25
                                    26
                                    // Make sure to add code blocks to your code group
                                    • GetVarNo:用于更新序号计数信息。
                                      //JScript
                                      //更新序号计数
                                      function GetvarNo(AUgRFDataSet)
                                      {
                                        if (AUgRFDataSet.IsEmpty)
                                        {
                                        	Result = 0;
                                          return;
                                          //Exit;
                                        }
                                      	AUgRFDataSet.Last;
                                        Result = AUgRFDataSet.FieldByName("FEntryID").AsInteger;
                                      }
                                      
                                      1
                                      2
                                      3
                                      4
                                      5
                                      6
                                      7
                                      8
                                      9
                                      10
                                      11
                                      12
                                      13
                                      //PasScript
                                      //更新序号计数
                                      Function GetVarNo(AUgRFDataSet: TUgRFDataSet):Integer;
                                      Begin
                                        if AUgRFDataSet.IsEmpty Then
                                        Begin
                                        	Result := 0;
                                          Exit;
                                        End;
                                      	AUgRFDataSet.Last;
                                        Result := AUgRFDataSet.FieldByName('FEntryID').AsInteger;
                                      End;
                                      
                                      1
                                      2
                                      3
                                      4
                                      5
                                      6
                                      7
                                      8
                                      9
                                      10
                                      11
                                      12
                                      // Make sure to add code blocks to your code group
                                      • btnCloseOnClick:btnClose的OnClick事件,点击以关闭当前窗口页面。
                                        //JScript
                                        //关闭窗口
                                        function btnCloseOnClick(sender)
                                        {
                                          var p;
                                          p = Self.Parent;
                                          if (p is TUgWebForm){
                                            TUgWebForm(p).Close;
                                            }
                                          if (p is TUniTabSheet)
                                            UniSession.AddJS("document.getElementById(\"" + TUniTabSheet(p).jsid + "_tab-closeEl\").click();");
                                        }
                                        
                                        1
                                        2
                                        3
                                        4
                                        5
                                        6
                                        7
                                        8
                                        9
                                        10
                                        11
                                        12
                                        //PasScript
                                        //关闭窗口
                                        procedure btnCloseOnClick(sender: tobject);
                                        Var
                                          p:TComponent;
                                        Begin
                                          p:=Self.Parent;
                                          if p is TUgWebForm then
                                          TUgWebForm(p).Close;
                                          if p is TUniTabSheet then
                                          UniSession.AddJS('document.getElementById("' + TUniTabSheet(p).jsid + '_tab-closeEl").click();');
                                        End;
                                        
                                        1
                                        2
                                        3
                                        4
                                        5
                                        6
                                        7
                                        8
                                        9
                                        10
                                        11
                                        12
                                        // Make sure to add code blocks to your code group
                                        • lkupFInvoiceCustNameOnChange:lkupFInvoiceCustName的OnChange事件,修改结账客户名称的时候变更对应关联的字段。
                                          //JScript
                                          //修改结账客户名称时同时更新结账客户的ID与代号
                                          function lkupFInvoiceCustNameOnChange(sender)
                                          {
                                            dtsGeneral.Edit;  
                                            dtsGeneral.FieldByName("FInvoiceCustID").AsString = dtsInvoiceCust.FieldByName("FInVoiceCustID").AsString;
                                            dtsGeneral.FieldByName("FInvoiceCustCode").AsString = dtsInvoiceCust.FieldByName("FInVoiceCustCode").AsString;
                                          }
                                          
                                          1
                                          2
                                          3
                                          4
                                          5
                                          6
                                          7
                                          8
                                          //PasScript
                                          //修改结账客户名称时同时更新结账客户的ID与代号
                                          procedure lkupFInvoiceCustNameOnChange(sender: tobject);
                                          begin
                                            dtsGeneral.Edit;  
                                            dtsGeneral.FieldByName('FInvoiceCustID').AsString := dtsInvoiceCust.FieldByName('FInVoiceCustID').AsString;
                                            dtsGeneral.FieldByName('FInvoiceCustCode').AsString := dtsInvoiceCust.FieldByName('FInVoiceCustCode').AsString;
                                          end;
                                          
                                          1
                                          2
                                          3
                                          4
                                          5
                                          6
                                          7
                                          8
                                          // Make sure to add code blocks to your code group
                                          • lkupFEmpNameOnChange:lkupFEmpName的OnChange事件,修改业务员同时更新ID,代码,部门ID,代码与名称。
                                            //JScript
                                            //修改业务员同时更新ID,代码,部门ID,代码与名称
                                            function lkupFEmpNameOnChange(sender)
                                            {
                                              dtsGeneral.Edit;
                                              dtsGeneral.FieldByName("FEmpID").AsString = dtsEmp.FieldByName("FEmpID").AsString;
                                              dtsGeneral.FieldByName("FEmpCode").AsString = dtsEmp.FieldByName("FEmpCode").AsString; 
                                              dtsGeneral.FieldByName("FDeptID").AsString = dtsEmp.FieldByName("FDeptID").AsString;
                                              dtsGeneral.FieldByName("FDeptCode").AsString = dtsEmp.FieldByName("FDeptCode").AsString;
                                              dtsGeneral.FieldByName("FDeptName").AsString = dtsEmp.FieldByName("FDeptName").AsString;
                                            }
                                            
                                            1
                                            2
                                            3
                                            4
                                            5
                                            6
                                            7
                                            8
                                            9
                                            10
                                            11
                                            //PasScript
                                            //修改业务员同时更新ID,代码,部门ID,代码与名称
                                            procedure lkupFEmpNameOnChange(sender: tobject);
                                            begin
                                              dtsGeneral.Edit;
                                              dtsGeneral.FieldByName('FEmpID').AsString := dtsEmp.FieldByName('FEmpID').AsString;
                                              dtsGeneral.FieldByName('FEmpCode').AsString := dtsEmp.FieldByName('FEmpCode').AsString; 
                                              dtsGeneral.FieldByName('FDeptID').AsString := dtsEmp.FieldByName('FDeptID').AsString;
                                              dtsGeneral.FieldByName('FDeptCode').AsString := dtsEmp.FieldByName('FDeptCode').AsString;
                                              dtsGeneral.FieldByName('FDeptName').AsString := dtsEmp.FieldByName('FDeptName').AsString;
                                            end;
                                            
                                            1
                                            2
                                            3
                                            4
                                            5
                                            6
                                            7
                                            8
                                            9
                                            10
                                            11
                                            // Make sure to add code blocks to your code group
                                            • lkupFExchangeRateOnChange:lkupFExchangeRate的OnChange事件,修改币种时更新对应的ID与代码。
                                              //JScript
                                              //修改币种时更新对应的ID与代码
                                              function lkupFExchangeRateOnChange(sender)
                                              {
                                                dtsGeneral.Edit;
                                                dtsGeneral.FieldByName("FCurrencyCode").AsString = dtsEmp.FieldByName("FEmpID").AsString;
                                                dtsGeneral.FieldByName("FCurrencyName").AsString = dtsEmp.FieldByName("FEmpCode").AsString; 
                                              }
                                              
                                              1
                                              2
                                              3
                                              4
                                              5
                                              6
                                              7
                                              8
                                              //PasScript
                                              //修改币种时更新对应的ID与代码
                                              procedure lkupFExchangeRateOnChange(sender: tobject);
                                              begin
                                                dtsGeneral.Edit;
                                                dtsGeneral.FieldByName('FCurrencyCode').AsString := dtsEmp.FieldByName('FEmpID').AsString;
                                                dtsGeneral.FieldByName('FCurrencyName').AsString := dtsEmp.FieldByName('FEmpCode').AsString; 
                                              end;
                                              
                                              1
                                              2
                                              3
                                              4
                                              5
                                              6
                                              7
                                              8
                                              // Make sure to add code blocks to your code group
                                              • lkupCustMaterialFItemCodeOnChange:lkupCustMaterialFItemCode的OnChange事件,用于选择布种时更新对应的布种资料信息。
                                                //JScript
                                                //更新布种资料
                                                function lkupCustMaterialFItemCodeOnChange(sender)
                                                {
                                                  dtsCustMaterial.Edit;
                                                  dtsCustMaterial.FieldByName("FItemID").AsString = dtsItem.FieldByName("FItemID").AsString;
                                                  dtsCustMaterial.FieldByName("FItemCode").AsString = dtsItem.FieldByName("FItemCode").AsString; 
                                                  dtsCustMaterial.FieldByName("FItemName").AsString = dtsItem.FieldByName("FItemName").AsString;
                                                }
                                                
                                                1
                                                2
                                                3
                                                4
                                                5
                                                6
                                                7
                                                8
                                                9
                                                //PasScript
                                                //更新布种资料
                                                procedure lkupCustMaterialFItemCodeOnChange(sender: tobject);
                                                begin
                                                  dtsCustMaterial.Edit;
                                                  dtsCustMaterial.FieldByName('FItemID').AsString := dtsItem.FieldByName('FItemID').AsString;
                                                  dtsCustMaterial.FieldByName('FItemCode').AsString := dtsItem.FieldByName('FItemCode').AsString; 
                                                  dtsCustMaterial.FieldByName('FItemName').AsString := dtsItem.FieldByName('FItemName').AsString;
                                                end;
                                                
                                                1
                                                2
                                                3
                                                4
                                                5
                                                6
                                                7
                                                8
                                                9
                                                // Make sure to add code blocks to your code group
                                                • lkupCustMaterialFItemNameOnChange:lkupCustMaterialFItemName的OnChange事件,用于选择时更新布种资料。
                                                  //JScript
                                                  //更新布种资料
                                                  function lkupCustMaterialFItemNameOnChange(sender)
                                                  {
                                                    dtsCustMaterial.Edit;
                                                    dtsCustMaterial.FieldByName("FItemID").AsString = dtsItem.FieldByName("FItemID").AsString;
                                                    dtsCustMaterial.FieldByName("FItemCode").AsString = dtsItem.FieldByName("FItemCode").AsString; 
                                                    dtsCustMaterial.FieldByName("FItemName").AsString = dtsItem.FieldByName("FItemName").AsString;
                                                  }
                                                  
                                                  1
                                                  2
                                                  3
                                                  4
                                                  5
                                                  6
                                                  7
                                                  8
                                                  9
                                                  //PasScript
                                                  //更新布种资料
                                                  procedure lkupCustMaterialFItemNameOnChange(sender: tobject);
                                                  begin
                                                    dtsCustMaterial.Edit;
                                                    dtsCustMaterial.FieldByName('FItemID').AsString := dtsItem.FieldByName('FItemID').AsString;
                                                    dtsCustMaterial.FieldByName('FItemCode').AsString := dtsItem.FieldByName('FItemCode').AsString; 
                                                    dtsCustMaterial.FieldByName('FItemName').AsString := dtsItem.FieldByName('FItemName').AsString;
                                                  end;
                                                  
                                                  1
                                                  2
                                                  3
                                                  4
                                                  5
                                                  6
                                                  7
                                                  8
                                                  9
                                                  // Make sure to add code blocks to your code group
                                                  • btnCustAddressAppendRowOnClick:btnCustAddressAppendRow的OnClick事件,客户地址新增,生成ID。
                                                    //JScript
                                                    //客户地址新增,生成ID
                                                    function btnCustAddressAppendRowOnClick(sender)
                                                    {
                                                      var vcount;
                                                    	vcount = GetvarNo(dtsCustAddrs);
                                                      dtsCustAddrs.Append;
                                                      dtsCustAddrs.FieldByName("FInterID").AsString = dtsGeneral.FieldByName("FInterID").AsString;
                                                      dtsCustAddrs.FieldByName("FEntryID").AsInteger = vcount + 1;
                                                    }
                                                    
                                                    1
                                                    2
                                                    3
                                                    4
                                                    5
                                                    6
                                                    7
                                                    8
                                                    9
                                                    10
                                                    //PasScript
                                                    //客户地址新增,生成ID
                                                    procedure btnCustAddressAppendRowOnClick(sender: tobject);
                                                    var 
                                                    	vcount: Integer;
                                                    begin	
                                                    	vcount := GetVarNo(dtsCustAddrs);
                                                      dtsCustAddrs.Append;
                                                      dtsCustAddrs.FieldByName('FInterID').AsString := dtsGeneral.FieldByName('FInterID').AsString;
                                                      dtsCustAddrs.FieldByName('FEntryID').AsInteger := vcount + 1;
                                                    end;
                                                    
                                                    1
                                                    2
                                                    3
                                                    4
                                                    5
                                                    6
                                                    7
                                                    8
                                                    9
                                                    10
                                                    11
                                                    // Make sure to add code blocks to your code group
                                                    • btnCustAddressDeleteRowOnClick:btnCustAddressDeleteRow的OnClick事件,设置时客户地址会被删除。
                                                      //JScript
                                                      //客户地址删除
                                                      function btnCustAddressDeleteRowOnClick(sender)
                                                      {
                                                        dtsCustAddrs.Delete;
                                                      }
                                                      
                                                      1
                                                      2
                                                      3
                                                      4
                                                      5
                                                      6
                                                      //PasScript
                                                      //客户地址删除
                                                      procedure btnCustAddressDeleteRowOnClick(sender: tobject);
                                                      begin
                                                        dtsCustAddrs.Delete;
                                                      end;
                                                      
                                                      1
                                                      2
                                                      3
                                                      4
                                                      5
                                                      6
                                                      // Make sure to add code blocks to your code group
                                                      • btnCustRelationAppendRowOnClick:btnCustRelationAppendRow的OnClick事件,客户关系新增,生成ID。
                                                        //JScript
                                                        //客户关系新增,生成ID
                                                        function btnCustRelationAppendRowOnClick(sender)
                                                        {
                                                          var vcount;
                                                        	vcount = GetvarNo(dtsCustRelation);
                                                          dtsCustRelation.Append;
                                                          dtsCustRelation.Edit;
                                                          dtsCustRelation.FieldByName("FInterID").AsString = dtsGeneral.FieldByName("FInterID").AsString;
                                                          dtsCustRelation.FieldByName("FEntryID").AsInteger = vcount + 1;  
                                                        }
                                                        
                                                        1
                                                        2
                                                        3
                                                        4
                                                        5
                                                        6
                                                        7
                                                        8
                                                        9
                                                        10
                                                        11
                                                        //PasScript
                                                        //客户关系新增,生成ID
                                                        procedure btnCustRelationAppendRowOnClick(sender: tobject);
                                                        Var
                                                        	vcount: Integer;
                                                        begin
                                                        	vcount := GetVarNo(dtsCustRelation);
                                                          dtsCustRelation.Append;
                                                          dtsCustRelation.Edit;
                                                          dtsCustRelation.FieldByName('FInterID').AsString := dtsGeneral.FieldByName('FInterID').AsString;
                                                          dtsCustRelation.FieldByName('FEntryID').AsInteger := vcount + 1;  
                                                        end;
                                                        
                                                        1
                                                        2
                                                        3
                                                        4
                                                        5
                                                        6
                                                        7
                                                        8
                                                        9
                                                        10
                                                        11
                                                        12
                                                        // Make sure to add code blocks to your code group
                                                        • btnCustRelationDeleteRowOnClick:btnCustRelationDeleteRow的OnClick事件,客户关系的删除。
                                                          //JScript
                                                          //客户关系删除
                                                          function btnCustRelationDeleteRowOnClick(sender)
                                                          {
                                                            dtsCustRelation.Delete;
                                                          }
                                                          
                                                          
                                                          1
                                                          2
                                                          3
                                                          4
                                                          5
                                                          6
                                                          7
                                                          //PasScript
                                                          //客户关系删除
                                                          procedure btnCustRelationDeleteRowOnClick(sender: tobject);
                                                          begin
                                                            dtsCustRelation.Delete;
                                                          end;
                                                          
                                                          1
                                                          2
                                                          3
                                                          4
                                                          5
                                                          6
                                                          // Make sure to add code blocks to your code group
                                                          • btnCustMaterialAppendRowOnClick:btnCustMaterialAppendRow的OnClick事件,客户产品新增,生成ID。
                                                            //JScript
                                                            //客户产品新增,生成ID
                                                            function btnCustMaterialAppendRowOnClick(sender)
                                                            {
                                                              var vcount;
                                                            	vcount = GetvarNo(dtsCustMaterial);
                                                              dtsCustMaterial.Append;
                                                              dtsCustMaterial.FieldByName("FInterID").AsString = dtsGeneral.FieldByName("FInterID").AsString;
                                                              dtsCustMaterial.FieldByName("FEntryID").AsInteger = vcount + 1;
                                                            }
                                                            
                                                            1
                                                            2
                                                            3
                                                            4
                                                            5
                                                            6
                                                            7
                                                            8
                                                            9
                                                            10
                                                            //PasScript
                                                            //客户产品新增,生成ID
                                                            procedure btnCustMaterialAppendRowOnClick(sender: tobject);
                                                            var
                                                            	vcount: Integer;
                                                            begin
                                                            	vcount := GetVarNo(dtsCustMaterial);
                                                              dtsCustMaterial.Append;
                                                              dtsCustMaterial.FieldByName('FInterID').AsString := dtsGeneral.FieldByName('FInterID').AsString;
                                                              dtsCustMaterial.FieldByName('FEntryID').AsInteger := vcount + 1;
                                                            end;
                                                            
                                                            1
                                                            2
                                                            3
                                                            4
                                                            5
                                                            6
                                                            7
                                                            8
                                                            9
                                                            10
                                                            11
                                                            // Make sure to add code blocks to your code group
                                                            • btnCustMaterialDeletRowOnClick:btnCustMaterialDeletRow的OnClick事件,客户产品删除。
                                                              //JScript
                                                              //客户产品删除
                                                              function btnCustMaterialDeletRowOnClick(sender)
                                                              {
                                                                dtsCustMaterial.Delete;
                                                              }
                                                              
                                                              
                                                              1
                                                              2
                                                              3
                                                              4
                                                              5
                                                              6
                                                              7
                                                              //PasScript
                                                              //客户产品删除
                                                              procedure btnCustMaterialDeletRowOnClick(sender: tobject);
                                                              begin
                                                                dtsCustMaterial.Delete;
                                                              end;
                                                              
                                                              1
                                                              2
                                                              3
                                                              4
                                                              5
                                                              6
                                                              // Make sure to add code blocks to your code group
                                                              • btnFirstOnClick:btnFirst的OnClick事件,记录定位至首条。
                                                                //JScript
                                                                //显示首条记录
                                                                function btnFirstOnClick(sender)
                                                                {
                                                                  //主数据集更新,同步更新明细数据集
                                                                  dtsGeneral.First;
                                                                  dtsCustAddrs.Close;
                                                                  dtsCustRelation.Close;
                                                                  dtsCustMaterial.Close;
                                                                  dtsCustAddrs.SQL.Text = "SELECT * FROM Basic_CustAddrs WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                  dtsCustRelation.SQL.Text = "SELECT * FROM Basic_CustRelation WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                  dtsCustMaterial.SQL.Text = "SELECT * FROM Basic_CustMaterial WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                  dtsCustAddrs.Open;
                                                                  dtsCustRelation.Open;
                                                                  dtsCustMaterial.Open;
                                                                }
                                                                
                                                                1
                                                                2
                                                                3
                                                                4
                                                                5
                                                                6
                                                                7
                                                                8
                                                                9
                                                                10
                                                                11
                                                                12
                                                                13
                                                                14
                                                                15
                                                                16
                                                                //PasScript
                                                                //显示首条记录
                                                                procedure btnFirstOnClick(sender: tobject);
                                                                begin
                                                                  //主数据集更新,同步更新明细数据集
                                                                  dtsGeneral.First;
                                                                  dtsCustAddrs.Close;
                                                                  dtsCustRelation.Close;
                                                                  dtsCustMaterial.Close;
                                                                  dtsCustAddrs.SQL.Text := 'SELECT * FROM Basic_CustAddrs WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                  dtsCustRelation.SQL.Text := 'SELECT * FROM Basic_CustRelation WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                  dtsCustMaterial.SQL.Text := 'SELECT * FROM Basic_CustMaterial WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                  dtsCustAddrs.Open;
                                                                  dtsCustRelation.Open;
                                                                  dtsCustMaterial.Open;
                                                                end;
                                                                
                                                                1
                                                                2
                                                                3
                                                                4
                                                                5
                                                                6
                                                                7
                                                                8
                                                                9
                                                                10
                                                                11
                                                                12
                                                                13
                                                                14
                                                                15
                                                                16
                                                                // Make sure to add code blocks to your code group
                                                                • btnPriorOnClick:btnPrior的OnClick事件,记录定位至上一条。
                                                                  //JScript
                                                                  //显示上一条记录
                                                                  function btnPriorOnClick(sender)
                                                                  {
                                                                    dtsGeneral.Prior;
                                                                    dtsCustAddrs.Close;
                                                                    dtsCustRelation.Close;
                                                                    dtsCustMaterial.Close;
                                                                    dtsCustAddrs.SQL.Text = "SELECT * FROM Basic_CustAddrs WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                    dtsCustRelation.SQL.Text = "SELECT * FROM Basic_CustRelation WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                    dtsCustMaterial.SQL.Text = "SELECT * FROM Basic_CustMaterial WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                    dtsCustAddrs.Open;
                                                                    dtsCustRelation.Open;
                                                                    dtsCustMaterial.Open;
                                                                  }
                                                                  
                                                                  1
                                                                  2
                                                                  3
                                                                  4
                                                                  5
                                                                  6
                                                                  7
                                                                  8
                                                                  9
                                                                  10
                                                                  11
                                                                  12
                                                                  13
                                                                  14
                                                                  15
                                                                  //PasScript
                                                                  //显示上一条记录
                                                                  procedure btnPriorOnClick(sender: tobject);
                                                                  begin
                                                                    dtsGeneral.Prior;
                                                                    dtsCustAddrs.Close;
                                                                    dtsCustRelation.Close;
                                                                    dtsCustMaterial.Close;
                                                                    dtsCustAddrs.SQL.Text := 'SELECT * FROM Basic_CustAddrs WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                    dtsCustRelation.SQL.Text := 'SELECT * FROM Basic_CustRelation WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                    dtsCustMaterial.SQL.Text := 'SELECT * FROM Basic_CustMaterial WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                    dtsCustAddrs.Open;
                                                                    dtsCustRelation.Open;
                                                                    dtsCustMaterial.Open;
                                                                  end;
                                                                  
                                                                  1
                                                                  2
                                                                  3
                                                                  4
                                                                  5
                                                                  6
                                                                  7
                                                                  8
                                                                  9
                                                                  10
                                                                  11
                                                                  12
                                                                  13
                                                                  14
                                                                  15
                                                                  // Make sure to add code blocks to your code group
                                                                  • btnNextOnClick:btnNext的OnClick事件,记录定位至下一条。
                                                                    //JScript
                                                                    //显示下一条记录
                                                                    function btnNextOnClick(sender)
                                                                    {
                                                                      dtsGeneral.Next;
                                                                      dtsCustAddrs.Close;
                                                                      dtsCustRelation.Close;
                                                                      dtsCustMaterial.Close;
                                                                      dtsCustAddrs.SQL.Text = "SELECT * FROM Basic_CustAddrs WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                      dtsCustRelation.SQL.Text = "SELECT * FROM Basic_CustRelation WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                      dtsCustMaterial.SQL.Text = "SELECT * FROM Basic_CustMaterial WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                      dtsCustAddrs.Open;
                                                                      dtsCustRelation.Open;
                                                                      dtsCustMaterial.Open;
                                                                    }
                                                                    
                                                                    1
                                                                    2
                                                                    3
                                                                    4
                                                                    5
                                                                    6
                                                                    7
                                                                    8
                                                                    9
                                                                    10
                                                                    11
                                                                    12
                                                                    13
                                                                    14
                                                                    15
                                                                    //PasScript
                                                                    //显示下一条记录
                                                                    procedure btnNextOnClick(sender: tobject);
                                                                    begin
                                                                      dtsGeneral.Next;
                                                                      dtsCustAddrs.Close;
                                                                      dtsCustRelation.Close;
                                                                      dtsCustMaterial.Close;
                                                                      dtsCustAddrs.SQL.Text := 'SELECT * FROM Basic_CustAddrs WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                      dtsCustRelation.SQL.Text := 'SELECT * FROM Basic_CustRelation WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                      dtsCustMaterial.SQL.Text := 'SELECT * FROM Basic_CustMaterial WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                      dtsCustAddrs.Open;
                                                                      dtsCustRelation.Open;
                                                                      dtsCustMaterial.Open;
                                                                    end;
                                                                    
                                                                    1
                                                                    2
                                                                    3
                                                                    4
                                                                    5
                                                                    6
                                                                    7
                                                                    8
                                                                    9
                                                                    10
                                                                    11
                                                                    12
                                                                    13
                                                                    14
                                                                    15
                                                                    // Make sure to add code blocks to your code group
                                                                    • btnLastOnClick:btnLast的OnClick事件,记录定位至最后一条。
                                                                      //JScript
                                                                      //显示最后一条记录
                                                                      function btnLastOnClick(sender)
                                                                      {
                                                                        dtsGeneral.Last;
                                                                        dtsCustAddrs.Close;
                                                                        dtsCustRelation.Close;
                                                                        dtsCustMaterial.Close;
                                                                        dtsCustAddrs.SQL.Text = "SELECT * FROM Basic_CustAddrs WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                        dtsCustRelation.SQL.Text = "SELECT * FROM Basic_CustRelation WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                        dtsCustMaterial.SQL.Text = "SELECT * FROM Basic_CustMaterial WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                        dtsCustAddrs.Open;
                                                                        dtsCustRelation.Open;
                                                                        dtsCustMaterial.Open;
                                                                      }
                                                                      
                                                                      1
                                                                      2
                                                                      3
                                                                      4
                                                                      5
                                                                      6
                                                                      7
                                                                      8
                                                                      9
                                                                      10
                                                                      11
                                                                      12
                                                                      13
                                                                      14
                                                                      15
                                                                      //PasScript
                                                                      //显示最后一条记录
                                                                      procedure btnLastOnClick(sender: tobject);
                                                                      begin
                                                                        dtsGeneral.Last;
                                                                        dtsCustAddrs.Close;
                                                                        dtsCustRelation.Close;
                                                                        dtsCustMaterial.Close;
                                                                        dtsCustAddrs.SQL.Text := 'SELECT * FROM Basic_CustAddrs WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                        dtsCustRelation.SQL.Text := 'SELECT * FROM Basic_CustRelation WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                        dtsCustMaterial.SQL.Text := 'SELECT * FROM Basic_CustMaterial WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                        dtsCustAddrs.Open;
                                                                        dtsCustRelation.Open;
                                                                        dtsCustMaterial.Open;
                                                                      end;
                                                                      
                                                                      1
                                                                      2
                                                                      3
                                                                      4
                                                                      5
                                                                      6
                                                                      7
                                                                      8
                                                                      9
                                                                      10
                                                                      11
                                                                      12
                                                                      13
                                                                      14
                                                                      15
                                                                      // Make sure to add code blocks to your code group
                                                                      • btnAppendOnClick:btnAppend的OnClick事件。
                                                                        //JScript
                                                                        //新增记录
                                                                        function btnAppendOnClick(sender)
                                                                        {
                                                                          //获取当前分组信息,分给新记录的分组信息中
                                                                          var vGroupID = dtsGeneral.FieldByName("FGroupID").AsString;
                                                                          dtsGeneral.Append;
                                                                          dtsGeneral.FieldByName("FInterID").AsInteger = GetNodeID;
                                                                          dtsGeneral.FieldByName("FGroupID").AsString = vGroupID;
                                                                          dtsGeneral.FieldByName("FCreater").AsString = UGMM.Informations.Values["UserName"];
                                                                        
                                                                          dtsCustAddrs.Close;
                                                                          dtsCustRelation.Close;
                                                                          dtsCustMaterial.Close;
                                                                          dtsCustAddrs.SQL.Text = "SELECT * FROM Basic_CustAddrs WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                          dtsCustRelation.SQL.Text = "SELECT * FROM Basic_CustRelation WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                          dtsCustMaterial.SQL.Text = "SELECT * FROM Basic_CustMaterial WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                          dtsCustAddrs.Open;
                                                                          dtsCustRelation.Open;
                                                                          dtsCustMaterial.Open;
                                                                        }
                                                                        
                                                                        1
                                                                        2
                                                                        3
                                                                        4
                                                                        5
                                                                        6
                                                                        7
                                                                        8
                                                                        9
                                                                        10
                                                                        11
                                                                        12
                                                                        13
                                                                        14
                                                                        15
                                                                        16
                                                                        17
                                                                        18
                                                                        19
                                                                        20
                                                                        21
                                                                        //PasScript
                                                                        //新增记录
                                                                        procedure btnAppendOnClick(sender: tobject);
                                                                        var
                                                                          vGroupID: String;
                                                                        begin
                                                                          //获取当前分组信息,分给新记录的分组信息中
                                                                          vGroupID := dtsGeneral.FieldByName('FGroupID').AsString;
                                                                          dtsGeneral.Append;
                                                                          dtsGeneral.FieldByName('FInterID').AsInteger := GetNodeID;
                                                                          dtsGeneral.FieldByName('FGroupID').AsString := vGroupID;
                                                                          dtsGeneral.FieldByName('FCreater').AsString := UGMM.Informations.Values['UserName'];
                                                                        
                                                                          dtsCustAddrs.Close;
                                                                          dtsCustRelation.Close;
                                                                          dtsCustMaterial.Close;
                                                                          dtsCustAddrs.SQL.Text := 'SELECT * FROM Basic_CustAddrs WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                          dtsCustRelation.SQL.Text := 'SELECT * FROM Basic_CustRelation WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                          dtsCustMaterial.SQL.Text := 'SELECT * FROM Basic_CustMaterial WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                          dtsCustAddrs.Open;
                                                                          dtsCustRelation.Open;
                                                                          dtsCustMaterial.Open;
                                                                        end;
                                                                        
                                                                        1
                                                                        2
                                                                        3
                                                                        4
                                                                        5
                                                                        6
                                                                        7
                                                                        8
                                                                        9
                                                                        10
                                                                        11
                                                                        12
                                                                        13
                                                                        14
                                                                        15
                                                                        16
                                                                        17
                                                                        18
                                                                        19
                                                                        20
                                                                        21
                                                                        22
                                                                        23
                                                                        // Make sure to add code blocks to your code group
                                                                        • btnSaveOnClick:btnSave的OnClick事件,点击保存单据。
                                                                          //JScript
                                                                          //保存
                                                                          function btnSaveOnClick(sender)
                                                                          {
                                                                            var t,vdts;
                                                                            t = now;
                                                                            vdts = new TUgRFDataSet(Nil);
                                                                            vdts.Connection = GetRFERP;
                                                                            try{
                                                                               //检查客户资料是否为空
                                                                          		if ((dtsGeneral.FieldByName("FCustCode").AsString == "")
                                                                            	|| (dtsGeneral.FieldByName("FCustName").AsString == ""))
                                                                              {
                                                                              	ShowSweetAlert(atError,UGMM.LT("提示"),UGMM.LT("客户代码或者客户名称不能为空!"));
                                                                                return;
                                                                              	//exit;
                                                                              }
                                                                              //检查业务员,销售类型是否为空
                                                                            	if ((dtsGeneral.FieldByName("FEmpName").AsString == "")
                                                                            	|| (dtsGeneral.FieldByName("FSaleType").AsString == ""))
                                                                              {
                                                                              	ShowSweetAlert(atError,UGMM.LT("提示"),UGMM.LT("业务员名称或销售类型不能为空!"));
                                                                                return;
                                                                              	//exit;  
                                                                              }
                                                                              //检查新增客户的客户代码是否与表中已有的代码重复
                                                                                vdts.Close;
                                                                                vdts.SQL.Text = "SELECT FInterID FROM Basic_Cust WHERE FCustCode = '" + dtsGeneral.FieldByName("FCustCode").AsString + "'";
                                                                                vdts.Open;
                                                                                if ((vdts.RecordCount > 0) && (vdts.FieldByName("FInterID").AsString != dtsGeneral.FieldByName("FInterID").AsString))
                                                                                {
                                                                                  ShowSweetAlert(atError,UGMM.LT("提示"),UGMM.LT("客户代码重复,请重新选择客户代码输入!"));
                                                                                  return;
                                                                                  //Exit;
                                                                                }
                                                                            
                                                                            	//检查主表是否有进行修改,被修改的主表客户是否已经在系统内产生了单据,如有则不允许修改
                                                                              vdts.Close;
                                                                              vdts.SQL.Text = "SELECT 1 FROM Basic_Cust WHERE FInterID = " + dtsGeneral.FieldByName("FInterID").AsString;
                                                                              vdts.Open;
                                                                              if (vdts.RecordCount > 0)
                                                                              {
                                                                              	vdts.Close;
                                                                              	vdts.SQL.Text = " if exists(select 1 from Sal_Order where FCustID = " + dtsGeneral.FieldByName("FInterID").AsString +") "
                                                                             		+" select 1 as FInterID "
                                                                              	+" else if exists(select 1 from Inv_CLstockBill where FCustID = " + dtsGeneral.FieldByName("FInterID").AsString +") "
                                                                              	+" select 1 as FInterID "
                                                                              	+" else if exists(select 1 from Inv_CLInvBal where FCustID = " + dtsGeneral.FieldByName("FInterID").AsString +") "
                                                                              	+" select 1 as FInterID "
                                                                              	+" else if exists(select 1 from Man_Mo where FCustID = " + dtsGeneral.FieldByName("FInterID").AsString +") "
                                                                              	+" select 1 as FInterID "
                                                                              	+" else if exists(select 1 from Man_Contact where FCustID = " + dtsGeneral.FieldByName("FInterID").AsString +") "
                                                                              	+" select 1 as FInterID "
                                                                              	+"else "
                                                                              	+" select 0 as FInterID ";
                                                                              	vdts.Open;
                                                                              	if (vdts.FieldByName("FInterID").AsInteger > 0)
                                                                                {
                                                                                	//不保存客户资料,弹出窗口提示
                                                                                  UgSweetAlert1.CancelButtonText = UGMM.LT("取消");
                                                                                  UgSweetAlert1.ConfirmButtonText = UGMM.LT("确定");
                                                                                  UgSweetAlert1.Title = UGMM.LT("提示");
                                                                                  UgSweetAlert1.Text = UGMM.LT("检测到该客户资料概览部分已被单据引用,是否仅更新收货地址,关系和产品信息?");
                                                                                  UgSweetAlert1.Show;
                                                                                }
                                                                                else
                                                                                {
                                                                                //未被引用的直接保存
                                                                              		dtsGeneral.Edit;
                                                                              		dtsGeneral.FieldByName("FLstModDate").AsDateTime = t;
                                                                              		
                                                                                  if (dtsGeneral.State is dsEdit)
                                                                                	  dtsGeneral.Post;
                                                                                    
                                                                          				dtsGeneral.ApplyUpdates(-1);
                                                                                  UpdateCustDetail;
                                                                              		ShowSweetAlert(atSuccess,UGMM.LT("提示"),UGMM.LT("数据保存成功!"));       
                                                                                 }
                                                                              }
                                                                          		else
                                                                              //新增的直接进行保存
                                                                              {
                                                                              	dtsGeneral.Edit;
                                                                              	dtsGeneral.FieldByName("FLstModDate").AsDateTime = t;
                                                                              	dtsGeneral.Post;
                                                                          			dtsGeneral.ApplyUpdates(-1);
                                                                                UpdateCustDetail;
                                                                              	ShowSweetAlert(atSuccess,UGMM.LT("提示"),UGMM.LT("数据保存成功!"));
                                                                               }			
                                                                              //btnAppend.Enabled = True;
                                                                              //btnSave.Enabled = False;
                                                                              }
                                                                            Finally{
                                                                            	vdts.Free;
                                                                            }
                                                                          }
                                                                          
                                                                          1
                                                                          2
                                                                          3
                                                                          4
                                                                          5
                                                                          6
                                                                          7
                                                                          8
                                                                          9
                                                                          10
                                                                          11
                                                                          12
                                                                          13
                                                                          14
                                                                          15
                                                                          16
                                                                          17
                                                                          18
                                                                          19
                                                                          20
                                                                          21
                                                                          22
                                                                          23
                                                                          24
                                                                          25
                                                                          26
                                                                          27
                                                                          28
                                                                          29
                                                                          30
                                                                          31
                                                                          32
                                                                          33
                                                                          34
                                                                          35
                                                                          36
                                                                          37
                                                                          38
                                                                          39
                                                                          40
                                                                          41
                                                                          42
                                                                          43
                                                                          44
                                                                          45
                                                                          46
                                                                          47
                                                                          48
                                                                          49
                                                                          50
                                                                          51
                                                                          52
                                                                          53
                                                                          54
                                                                          55
                                                                          56
                                                                          57
                                                                          58
                                                                          59
                                                                          60
                                                                          61
                                                                          62
                                                                          63
                                                                          64
                                                                          65
                                                                          66
                                                                          67
                                                                          68
                                                                          69
                                                                          70
                                                                          71
                                                                          72
                                                                          73
                                                                          74
                                                                          75
                                                                          76
                                                                          77
                                                                          78
                                                                          79
                                                                          80
                                                                          81
                                                                          82
                                                                          83
                                                                          84
                                                                          85
                                                                          86
                                                                          87
                                                                          88
                                                                          89
                                                                          90
                                                                          91
                                                                          92
                                                                          93
                                                                          94
                                                                          95
                                                                          96
                                                                          //PasScript
                                                                          //保存
                                                                          procedure btnSaveOnClick(sender: tobject);
                                                                          Var
                                                                            vdts: TUgRFDataSet;
                                                                            t: TDateTime;
                                                                          begin
                                                                            t := now;
                                                                            vdts := TUgRFDataSet.Create(Nil);
                                                                            vdts.Connection := GetRFERP;
                                                                            try
                                                                               //检查客户资料是否为空
                                                                          		if (dtsGeneral.FieldByName('FCustCode').AsString = '')
                                                                            	or (dtsGeneral.FieldByName('FCustName').AsString = '')
                                                                            	Then
                                                                            	Begin
                                                                              	ShowSweetAlert(atError,UGMM.LT('提示'),UGMM.LT('客户代码或者客户名称不能为空!'));
                                                                              	exit;
                                                                            	end;
                                                                              //检查业务员,销售类型是否为空
                                                                            	if (dtsGeneral.FieldByName('FEmpName').AsString = '')
                                                                            	or (dtsGeneral.FieldByName('FSaleType').AsString = '')
                                                                            	Then
                                                                            	Begin
                                                                              	ShowSweetAlert(atError,UGMM.LT('提示'),UGMM.LT('业务员名称或销售类型不能为空!'));
                                                                              	exit;  
                                                                            	End;
                                                                              //检查新增客户的客户代码是否与表中已有的代码重复
                                                                                vdts.Close;
                                                                                vdts.SQL.Text := 'SELECT FInterID FROM Basic_Cust WHERE FCustCode = ''' + dtsGeneral.FieldByName('FCustCode').AsString + '''';
                                                                                vdts.Open;
                                                                                if (vdts.RecordCount > 0) and (vdts.FieldByName('FInterID').AsString <> dtsGeneral.FieldByName('FInterID').AsString) Then
                                                                                Begin
                                                                                  ShowSweetAlert(atError,UGMM.LT('提示'),UGMM.LT('客户代码重复,请重新选择客户代码输入!'));
                                                                                  Exit;
                                                                                end;
                                                                            
                                                                            	//检查主表是否有进行修改,被修改的主表客户是否已经在系统内产生了单据,如有则不允许修改
                                                                              vdts.Close;
                                                                              vdts.SQL.Text := 'SELECT 1 FROM Basic_Cust WHERE FInterID = ' + dtsGeneral.FieldByName('FInterID').AsString;
                                                                              vdts.Open;
                                                                              if vdts.RecordCount > 0 Then
                                                                              Begin
                                                                              	vdts.Close;
                                                                              	vdts.SQL.Text := ' if exists(select 1 from Sal_Order where FCustID = ' + dtsGeneral.FieldByName('FInterID').AsString +') '
                                                                             		+' select 1 as FInterID '
                                                                              	+' else if exists(select 1 from Inv_CLstockBill where FCustID = ' + dtsGeneral.FieldByName('FInterID').AsString +') '
                                                                              	+' select 1 as FInterID '
                                                                              	+' else if exists(select 1 from Inv_CLInvBal where FCustID = ' + dtsGeneral.FieldByName('FInterID').AsString +') '
                                                                              	+' select 1 as FInterID '
                                                                              	+' else if exists(select 1 from Man_Mo where FCustID = ' + dtsGeneral.FieldByName('FInterID').AsString +') '
                                                                              	+' select 1 as FInterID '
                                                                              	+' else if exists(select 1 from Man_Contact where FCustID = ' + dtsGeneral.FieldByName('FInterID').AsString +') '
                                                                              	+' select 1 as FInterID '
                                                                              	+'else '
                                                                              	+' select 0 as FInterID ';
                                                                              	vdts.Open;
                                                                              	IF vdts.FieldByName('FInterID').AsInteger > 0 Then
                                                                              	Begin
                                                                                	//不保存客户资料,弹出窗口提示
                                                                                  UgSweetAlert1.CancelButtonText := UGMM.LT('取消');
                                                                                  UgSweetAlert1.ConfirmButtonText := UGMM.LT('确定');
                                                                                  UgSweetAlert1.Title := UGMM.LT('提示');
                                                                                  UgSweetAlert1.Text := UGMM.LT('检测到该客户资料概览部分已被单据引用,是否仅更新收货地址,关系和产品信息?');
                                                                                  UgSweetAlert1.Show;
                                                                              	End
                                                                                Else
                                                                                Begin
                                                                                //未被引用的直接保存
                                                                              		dtsGeneral.Edit;
                                                                              		dtsGeneral.FieldByName('FLstModDate').AsDateTime := t;
                                                                              		
                                                                                  if dtsGeneral.State is dsEdit Then
                                                                                	  dtsGeneral.Post;
                                                                                    
                                                                          				dtsGeneral.ApplyUpdates(-1);
                                                                                  UpdateCustDetail;
                                                                              		ShowSweetAlert(atSuccess,UGMM.LT('提示'),UGMM.LT('数据保存成功!'));       
                                                                                End;
                                                                              End
                                                                          		Else
                                                                              //新增的直接进行保存
                                                                              Begin
                                                                              	dtsGeneral.Edit;
                                                                              	dtsGeneral.FieldByName('FLstModDate').AsDateTime := t;
                                                                              	dtsGeneral.Post;
                                                                          			dtsGeneral.ApplyUpdates(-1);
                                                                                UpdateCustDetail;
                                                                              	ShowSweetAlert(atSuccess,UGMM.LT('提示'),UGMM.LT('数据保存成功!'));
                                                                              End;			
                                                                              //btnAppend.Enabled := True;
                                                                              //btnSave.Enabled := False;
                                                                          	Finally
                                                                            	vdts.Free;
                                                                            end;
                                                                          end;
                                                                          
                                                                          1
                                                                          2
                                                                          3
                                                                          4
                                                                          5
                                                                          6
                                                                          7
                                                                          8
                                                                          9
                                                                          10
                                                                          11
                                                                          12
                                                                          13
                                                                          14
                                                                          15
                                                                          16
                                                                          17
                                                                          18
                                                                          19
                                                                          20
                                                                          21
                                                                          22
                                                                          23
                                                                          24
                                                                          25
                                                                          26
                                                                          27
                                                                          28
                                                                          29
                                                                          30
                                                                          31
                                                                          32
                                                                          33
                                                                          34
                                                                          35
                                                                          36
                                                                          37
                                                                          38
                                                                          39
                                                                          40
                                                                          41
                                                                          42
                                                                          43
                                                                          44
                                                                          45
                                                                          46
                                                                          47
                                                                          48
                                                                          49
                                                                          50
                                                                          51
                                                                          52
                                                                          53
                                                                          54
                                                                          55
                                                                          56
                                                                          57
                                                                          58
                                                                          59
                                                                          60
                                                                          61
                                                                          62
                                                                          63
                                                                          64
                                                                          65
                                                                          66
                                                                          67
                                                                          68
                                                                          69
                                                                          70
                                                                          71
                                                                          72
                                                                          73
                                                                          74
                                                                          75
                                                                          76
                                                                          77
                                                                          78
                                                                          79
                                                                          80
                                                                          81
                                                                          82
                                                                          83
                                                                          84
                                                                          85
                                                                          86
                                                                          87
                                                                          88
                                                                          89
                                                                          90
                                                                          91
                                                                          92
                                                                          93
                                                                          94
                                                                          95
                                                                          96
                                                                          // Make sure to add code blocks to your code group
                                                                          • btnDeleteOnClick:btnDelete的OnClick事件,点击以开启删除对话框提示。
                                                                            //JScript
                                                                            //删除
                                                                            function btnDeleteOnClick(sender)
                                                                            {
                                                                                UgSweetAlert.CancelButtonText = UGMM.LT("取消");
                                                                                UgSweetAlert.ConfirmButtonText = UGMM.LT("确定");
                                                                                UgSweetAlert.Title = UGMM.LT("提示");
                                                                                UgSweetAlert.Text = UGMM.LT("确认要删除此客户资料吗?");
                                                                                UgSweetAlert.Show;
                                                                            }
                                                                            
                                                                            
                                                                            1
                                                                            2
                                                                            3
                                                                            4
                                                                            5
                                                                            6
                                                                            7
                                                                            8
                                                                            9
                                                                            10
                                                                            11
                                                                            //PasScript
                                                                            //删除
                                                                            procedure btnDeleteOnClick(sender: tobject);
                                                                            begin
                                                                                UgSweetAlert.CancelButtonText := UGMM.LT('取消');
                                                                                UgSweetAlert.ConfirmButtonText := UGMM.LT('确定');
                                                                                UgSweetAlert.Title := UGMM.LT('提示');
                                                                                UgSweetAlert.Text := UGMM.LT('确认要删除此客户资料吗?');
                                                                                UgSweetAlert.Show;
                                                                            end;
                                                                            
                                                                            1
                                                                            2
                                                                            3
                                                                            4
                                                                            5
                                                                            6
                                                                            7
                                                                            8
                                                                            9
                                                                            10
                                                                            // Make sure to add code blocks to your code group
                                                                            • btnUpdateOnClick:btnUpdate的OnClick事件,点击以更新客户资料。
                                                                              //JScript
                                                                              //更新客户资料
                                                                              function btnUpdateOnClick(sender)
                                                                              {
                                                                                  UgSweetAlert2.CancelButtonText = UGMM.LT("取消");
                                                                                  UgSweetAlert2.ConfirmButtonText = UGMM.LT("确定");
                                                                                  UgSweetAlert2.Title = UGMM.LT("提示");
                                                                                  UgSweetAlert2.Text = UGMM.LT("确认要更新此客户资料吗?");
                                                                                  UgSweetAlert2.Show;
                                                                              }
                                                                              
                                                                              
                                                                              1
                                                                              2
                                                                              3
                                                                              4
                                                                              5
                                                                              6
                                                                              7
                                                                              8
                                                                              9
                                                                              10
                                                                              11
                                                                              //PasScript
                                                                              //更新客户资料
                                                                              procedure btnUpdateOnClick(sender: tobject);
                                                                              Var
                                                                                vdts : TUgRFDataSet;
                                                                              begin
                                                                              
                                                                                  UgSweetAlert2.CancelButtonText := UGMM.LT('取消');
                                                                                  UgSweetAlert2.ConfirmButtonText := UGMM.LT('确定');
                                                                                  UgSweetAlert2.Title := UGMM.LT('提示');
                                                                                  UgSweetAlert2.Text := UGMM.LT('确认要更新此客户资料吗?');
                                                                                  UgSweetAlert2.Show;
                                                                              end;
                                                                              
                                                                              1
                                                                              2
                                                                              3
                                                                              4
                                                                              5
                                                                              6
                                                                              7
                                                                              8
                                                                              9
                                                                              10
                                                                              11
                                                                              12
                                                                              13
                                                                              // Make sure to add code blocks to your code group
                                                                              • imFCustLogoOnDblClick:imFCustLogo的OnDblClick事件,双击打开文件上传对话框。
                                                                                //JScript
                                                                                function imFCustLogoOnDblClick(sender)
                                                                                //客户资料图片处双击打开文件上传对话框
                                                                                {
                                                                                  UgFileUpload01.Execute;
                                                                                }
                                                                                
                                                                                
                                                                                1
                                                                                2
                                                                                3
                                                                                4
                                                                                5
                                                                                6
                                                                                7
                                                                                //PasScript
                                                                                procedure imFCustLogoOnDblClick(sender: tobject);
                                                                                //客户资料图片处双击打开文件上传对话框
                                                                                begin
                                                                                  UgFileUpload01.Execute;
                                                                                end;
                                                                                
                                                                                1
                                                                                2
                                                                                3
                                                                                4
                                                                                5
                                                                                6
                                                                                // Make sure to add code blocks to your code group
                                                                                • UgFileUpload01OnCompleted: UgFileUpload01的OnCompleted事件,图片上传后传送至数据集中。
                                                                                  //JScript
                                                                                  function UgFileUpload01OnCompleted(sender,astrea)
                                                                                  //图片文件上传后传送至数据集中
                                                                                  {
                                                                                     TBlobField(imFCustLogo.DataSource.DataSet.FieldByName(imFCustLogo.DataField)).LoadFromStream(astream);
                                                                                  }
                                                                                  
                                                                                  1
                                                                                  2
                                                                                  3
                                                                                  4
                                                                                  5
                                                                                  6
                                                                                  //PasScript
                                                                                  procedure UgFileUpload01OnCompleted(sender: tobject;astream: tfilestream);
                                                                                  //图片文件上传后传送至数据集中
                                                                                  begin
                                                                                     TBlobField(imFCustLogo.DataSource.DataSet.FieldByName(imFCustLogo.DataField)).LoadFromStream(astream);
                                                                                  end;
                                                                                  
                                                                                  1
                                                                                  2
                                                                                  3
                                                                                  4
                                                                                  5
                                                                                  6
                                                                                  // Make sure to add code blocks to your code group
                                                                                  • UgSweetAlert1OnConfirm:UgSweetAlert1的OnConfirm事件,用于仅更新客户的明细资料信息。
                                                                                    //JScript
                                                                                    function UgSweetAlert1OnConfirm(sender)
                                                                                    //仅更新客户明细信息
                                                                                    {
                                                                                       UpdateCustDetail;
                                                                                       ShowSweetAlert(atSuccess,UGMM.LT("提示"),UGMM.LT("仅更新送货地址,关系和产品信息成功。"));
                                                                                    }
                                                                                    
                                                                                    1
                                                                                    2
                                                                                    3
                                                                                    4
                                                                                    5
                                                                                    6
                                                                                    7
                                                                                    //PasScript
                                                                                    procedure UgSweetAlert1OnConfirm(sender: tobject);
                                                                                    //仅更新客户明细信息
                                                                                    begin
                                                                                       UpdateCustDetail;
                                                                                       ShowSweetAlert(atSuccess,UGMM.LT('提示'),UGMM.LT('仅更新送货地址,关系和产品信息成功。'));
                                                                                    end;
                                                                                    
                                                                                    1
                                                                                    2
                                                                                    3
                                                                                    4
                                                                                    5
                                                                                    6
                                                                                    7
                                                                                    // Make sure to add code blocks to your code group
                                                                                    • UgSweetAlertOnConfirm:UgSweetAlert的OnConfirm事件,用于删除客户资料的操作。
                                                                                      //JScript
                                                                                      function UgSweetAlertOnConfirm(sender)
                                                                                      //客户资料删除的执行操作
                                                                                      {
                                                                                        var AStoredProc,vRAISEMSG,vMSG,i,j;
                                                                                        //初始化存储过程,获取需要赋值的参数
                                                                                        AStoredProc = new TUgRFStroedProc(nil);
                                                                                        AStoredProc.Connection = GETRFERP;
                                                                                        try{
                                                                                          AStoredProc.StoredProcName = "sp_Basic_Cust";
                                                                                          AStoredProc.Prepare;
                                                                                          if (AStoredProc.Prepared)
                                                                                          {
                                                                                            //参数赋值
                                                                                            AStoredProc.ParamByName("FDataID").AsString = dtsGeneral.FieldByName("FInterID").AsString;
                                                                                            AStoredProc.ParamByName("Flag").AsString = "Delete";
                                                                                            AStoredProc.ParamByName("FUserCode").AsString = UGMM.Informations.Values["UserFullName"];
                                                                                            if (AStoredProc.FindParam("FMsg") != nil)
                                                                                              AStoredProc.ParamByName("FMsg").AsString = "";
                                                                                            try{
                                                                                              AStoredProc.ExecProc;
                                                                                             }
                                                                                             Except{
                                                                                                vRAISEMSG=ExceptionMessage;
                                                                                                //意外情况字符串处理
                                                                                                i = Pos("SQMESSAGE", vRAISEMSG);
                                                                                                j = Pos("[SQL Server]", vRAISEMSG);
                                                                                                vMSG = Copy(vRAISEMSG, i, Length(vRAISEMSG) - i + 1);
                                                                                          
                                                                                                // 非格式化消息提示
                                                                                                if (i == 0)
                                                                                                {
                                                                                                  ShowSweetAlert(atError,UGMM.LT("提示"),Copy(vRAISEMSG, j + 12, Length(vRAISEMSG) - j + 1));
                                                                                                  return;
                                                                                                  //Exit;
                                                                                                }
                                                                                              }
                                                                                            }
                                                                                          }
                                                                                        finally{
                                                                                          AStoredProc.Free;
                                                                                        }
                                                                                        dtsGeneral.Open;
                                                                                        dtsCustAddrs.Open;
                                                                                        dtsCustRelation.Open;
                                                                                        dtsCustMaterial.Open;
                                                                                      }
                                                                                      
                                                                                      1
                                                                                      2
                                                                                      3
                                                                                      4
                                                                                      5
                                                                                      6
                                                                                      7
                                                                                      8
                                                                                      9
                                                                                      10
                                                                                      11
                                                                                      12
                                                                                      13
                                                                                      14
                                                                                      15
                                                                                      16
                                                                                      17
                                                                                      18
                                                                                      19
                                                                                      20
                                                                                      21
                                                                                      22
                                                                                      23
                                                                                      24
                                                                                      25
                                                                                      26
                                                                                      27
                                                                                      28
                                                                                      29
                                                                                      30
                                                                                      31
                                                                                      32
                                                                                      33
                                                                                      34
                                                                                      35
                                                                                      36
                                                                                      37
                                                                                      38
                                                                                      39
                                                                                      40
                                                                                      41
                                                                                      42
                                                                                      43
                                                                                      44
                                                                                      45
                                                                                      46
                                                                                      47
                                                                                      //PasScript
                                                                                      procedure UgSweetAlertOnConfirm(sender: tobject);
                                                                                      //客户资料删除的执行操作
                                                                                      Var
                                                                                        AStoredProc: TUgRFStroedProc;
                                                                                        vRAISEMSG,vMSG: String;
                                                                                        i, j: Integer;
                                                                                      begin
                                                                                        //初始化存储过程,获取需要赋值的参数
                                                                                        AStoredProc := TUgRFStroedProc.Create(nil);
                                                                                        AStoredProc.Connection := GETRFERP;
                                                                                        try
                                                                                          AStoredProc.StoredProcName := 'sp_Basic_Cust';
                                                                                          AStoredProc.Prepare;
                                                                                          if AStoredProc.Prepared then
                                                                                          begin
                                                                                            //参数赋值
                                                                                            AStoredProc.ParamByName('FDataID').AsString := dtsGeneral.FieldByName('FInterID').AsString;
                                                                                            AStoredProc.ParamByName('Flag').AsString := 'Delete';
                                                                                            AStoredProc.ParamByName('FUserCode').AsString := UGMM.Informations.Values['UserFullName'];
                                                                                            if AStoredProc.FindParam('FMsg') <> nil then
                                                                                              AStoredProc.ParamByName('FMsg').AsString := '';
                                                                                            try
                                                                                              AStoredProc.ExecProc;
                                                                                             Except{ExceptionMessage}
                                                                                                vRAISEMSG:=ExceptionMessage;
                                                                                                //意外情况字符串处理
                                                                                                i := Pos('SQMESSAGE', vRAISEMSG);
                                                                                                j := Pos('[SQL Server]', vRAISEMSG);
                                                                                                vMSG := Copy(vRAISEMSG, i, Length(vRAISEMSG) - i + 1);
                                                                                          
                                                                                                // 非格式化消息提示
                                                                                                if i = 0 then
                                                                                                begin
                                                                                                  ShowSweetAlert(atError,UGMM.LT('提示'),Copy(vRAISEMSG, j + 12, Length(vRAISEMSG) - j + 1));
                                                                                                  Exit;
                                                                                                end;
                                                                                              end;
                                                                                          end;
                                                                                        finally
                                                                                          AStoredProc.Free;
                                                                                        end;
                                                                                        dtsGeneral.Open;
                                                                                        dtsCustAddrs.Open;
                                                                                        dtsCustRelation.Open;
                                                                                        dtsCustMaterial.Open;
                                                                                      end;
                                                                                      
                                                                                      1
                                                                                      2
                                                                                      3
                                                                                      4
                                                                                      5
                                                                                      6
                                                                                      7
                                                                                      8
                                                                                      9
                                                                                      10
                                                                                      11
                                                                                      12
                                                                                      13
                                                                                      14
                                                                                      15
                                                                                      16
                                                                                      17
                                                                                      18
                                                                                      19
                                                                                      20
                                                                                      21
                                                                                      22
                                                                                      23
                                                                                      24
                                                                                      25
                                                                                      26
                                                                                      27
                                                                                      28
                                                                                      29
                                                                                      30
                                                                                      31
                                                                                      32
                                                                                      33
                                                                                      34
                                                                                      35
                                                                                      36
                                                                                      37
                                                                                      38
                                                                                      39
                                                                                      40
                                                                                      41
                                                                                      42
                                                                                      43
                                                                                      44
                                                                                      45
                                                                                      46
                                                                                      47
                                                                                      // Make sure to add code blocks to your code group
                                                                                      • UgSweetAlert2OnConfirm:UgSweetAlert2的OnConfirm事件,更新客户资料。
                                                                                        //JScript
                                                                                        function UgSweetAlert2OnConfirm(sender)
                                                                                        //更新客户资料
                                                                                        {
                                                                                          var AStoredProc,vRAISEMSG,vMSG,i,j;
                                                                                          //初始化存储过程,获取参数信息
                                                                                          AStoredProc = new TUgRFStroedProc(nil);
                                                                                          AStoredProc.Connection = GETRFERP;
                                                                                          try{
                                                                                            AStoredProc.StoredProcName = "sp_Basic_Cust";
                                                                                            AStoredProc.Prepare;
                                                                                            if (AStoredProc.Prepared)
                                                                                            {
                                                                                              //参数赋值
                                                                                              AStoredProc.ParamByName("FDataID").AsString = dtsGeneral.FieldByName("FInterID").AsString;
                                                                                              AStoredProc.ParamByName("Flag").AsString = "Update";
                                                                                              AStoredProc.ParamByName("FUserCode").AsString = UGMM.Informations.Values["UserFullName"];
                                                                                              if (AStoredProc.FindParam("FMsg") != nil)
                                                                                                AStoredProc.ParamByName("FMsg").AsString = "";
                                                                                              try{
                                                                                                AStoredProc.ExecProc;
                                                                                               }
                                                                                               Except{
                                                                                                  vRAISEMSG=ExceptionMessage;
                                                                                                  //异常信息处理
                                                                                             
                                                                                                  i = Pos("SQMESSAGE", vRAISEMSG);
                                                                                                  j = Pos("[SQL Server]", vRAISEMSG);
                                                                                                  vMSG = Copy(vRAISEMSG, i, Length(vRAISEMSG) - i + 1);
                                                                                            
                                                                                                  // 非格式化消息提示
                                                                                                  if (i == 0)
                                                                                                  {
                                                                                                    ShowSweetAlert(atError,UGMM.LT("提示"),Copy(vRAISEMSG, j + 12, Length(vRAISEMSG) - j + 1));
                                                                                                    return;
                                                                                                    //Exit;
                                                                                                  }
                                                                                                }
                                                                                              }
                                                                                            }
                                                                                          finally{
                                                                                            AStoredProc.Free;
                                                                                          }
                                                                                        }
                                                                                        
                                                                                        1
                                                                                        2
                                                                                        3
                                                                                        4
                                                                                        5
                                                                                        6
                                                                                        7
                                                                                        8
                                                                                        9
                                                                                        10
                                                                                        11
                                                                                        12
                                                                                        13
                                                                                        14
                                                                                        15
                                                                                        16
                                                                                        17
                                                                                        18
                                                                                        19
                                                                                        20
                                                                                        21
                                                                                        22
                                                                                        23
                                                                                        24
                                                                                        25
                                                                                        26
                                                                                        27
                                                                                        28
                                                                                        29
                                                                                        30
                                                                                        31
                                                                                        32
                                                                                        33
                                                                                        34
                                                                                        35
                                                                                        36
                                                                                        37
                                                                                        38
                                                                                        39
                                                                                        40
                                                                                        41
                                                                                        42
                                                                                        43
                                                                                        44
                                                                                        //PasScript
                                                                                        procedure UgSweetAlert2OnConfirm(sender: tobject);
                                                                                        //更新客户资料
                                                                                        Var
                                                                                          AStoredProc: TUgRFStroedProc;
                                                                                          vRAISEMSG,vMSG: String;
                                                                                          i, j: Integer;
                                                                                        begin
                                                                                          //初始化存储过程,获取参数信息
                                                                                          AStoredProc := TUgRFStroedProc.Create(nil);
                                                                                          AStoredProc.Connection := GETRFERP;
                                                                                          try
                                                                                            AStoredProc.StoredProcName := 'sp_Basic_Cust';
                                                                                            AStoredProc.Prepare;
                                                                                            if AStoredProc.Prepared then
                                                                                            begin
                                                                                              //参数赋值
                                                                                              AStoredProc.ParamByName('FDataID').AsString := dtsGeneral.FieldByName('FInterID').AsString;
                                                                                              AStoredProc.ParamByName('Flag').AsString := 'Update';
                                                                                              AStoredProc.ParamByName('FUserCode').AsString := UGMM.Informations.Values['UserFullName'];
                                                                                              if AStoredProc.FindParam('FMsg') <> nil then
                                                                                                AStoredProc.ParamByName('FMsg').AsString := '';
                                                                                              try
                                                                                                AStoredProc.ExecProc;
                                                                                               Except{ExceptionMessage}
                                                                                                  vRAISEMSG:=ExceptionMessage;
                                                                                                  //异常信息处理
                                                                                             
                                                                                                  i := Pos('SQMESSAGE', vRAISEMSG);
                                                                                                  j := Pos('[SQL Server]', vRAISEMSG);
                                                                                                  vMSG := Copy(vRAISEMSG, i, Length(vRAISEMSG) - i + 1);
                                                                                            
                                                                                                  // 非格式化消息提示
                                                                                                  if i = 0 then
                                                                                                  begin
                                                                                                    ShowSweetAlert(atError,UGMM.LT('提示'),Copy(vRAISEMSG, j + 12, Length(vRAISEMSG) - j + 1));
                                                                                                    Exit;
                                                                                                  end;
                                                                                                end;
                                                                                            end;
                                                                                          finally
                                                                                            AStoredProc.Free;
                                                                                          end;
                                                                                        end;
                                                                                        
                                                                                        1
                                                                                        2
                                                                                        3
                                                                                        4
                                                                                        5
                                                                                        6
                                                                                        7
                                                                                        8
                                                                                        9
                                                                                        10
                                                                                        11
                                                                                        12
                                                                                        13
                                                                                        14
                                                                                        15
                                                                                        16
                                                                                        17
                                                                                        18
                                                                                        19
                                                                                        20
                                                                                        21
                                                                                        22
                                                                                        23
                                                                                        24
                                                                                        25
                                                                                        26
                                                                                        27
                                                                                        28
                                                                                        29
                                                                                        30
                                                                                        31
                                                                                        32
                                                                                        33
                                                                                        34
                                                                                        35
                                                                                        36
                                                                                        37
                                                                                        38
                                                                                        39
                                                                                        40
                                                                                        41
                                                                                        42
                                                                                        43
                                                                                        44
                                                                                        // Make sure to add code blocks to your code group
                                                                                        • UgWebRunFrameOnAfterRunScript:UgWebRunFrame的OnAfterRunScript事件,初始化。
                                                                                          //JScript
                                                                                          function UgWebRunFrameOnAfterRunScript(sender)
                                                                                          {
                                                                                            UGMM.LC(Self);
                                                                                            //客户分类查找表
                                                                                            dtsCustGroup.Connection = GetRFERP;
                                                                                            dtsCustGroup.SQL.Text = "SELECT FInterID AS FGroupID,FGroupName FROM Basic_CustGroup";
                                                                                            dtsCustGroup.Open;
                                                                                            
                                                                                            //结账客户查找表
                                                                                            dtsInvoiceCust.Connection = GetRFERP;
                                                                                            dtsInvoiceCust.SQL.Text = "SELECT FInterID AS FInVoiceCustID,FCustCode AS FInvoiceCustCode,FCustName AS " + 
                                                                                            "FInvoiceCustName FROM Basic_Cust";
                                                                                            dtsInvoiceCust.Open; 
                                                                                            
                                                                                            //区域
                                                                                            dtsFDistrict.Connection = GetRFERP;
                                                                                            dtsFDistrict.SQL.Text = "SELECT a.FName,a.FCode "
                                                                                          	+ "FROM dbo.Basic_CommonData A "
                                                                                          	+ "INNER JOIN Basic_CommonDataType b ON a.FTypeID = b.FInterID "
                                                                                          	+ "WHERE b.FDataName = '" + UGMM.LT("地区") + "'";
                                                                                            dtsFDistrict.Open; 
                                                                                            
                                                                                            //业务员
                                                                                            dtsEmp.Connection = GetRFERP;
                                                                                            dtsEmp.SQL.Text = "SELECT FInterID AS FEmpID,FEmpCode,FEmpName,FDeptID,FDeptCode,FDeptName FROM Basic_Employee";
                                                                                            dtsEmp.Open;
                                                                                            
                                                                                            //币种资料
                                                                                            dtsCurrency.Connection = GetRFERP;
                                                                                            dtsCurrency.SQL.Text = "SELECT FCode as FCurrencyCode,FName as FCurrencyName,FInterID AS FCurrencyID,FExRate AS "+ 
                                                                                            "FExchangeRate FROM Basic_Currency";
                                                                                            dtsCurrency.Open;
                                                                                            
                                                                                            //销售类型
                                                                                            dtsSaleType.Connection = GetRFERP;
                                                                                            dtsSaleType.SQL.Text = "SELECT a.FName,a.FInterID "
                                                                                          	+ "FROM dbo.Basic_CommonData A "
                                                                                          	+ "INNER JOIN Basic_CommonDataType b ON a.FTypeID = b.FInterID "
                                                                                          	+ "WHERE b.FDataName = '" + UGMM.LT("销售类型") + "'";
                                                                                            dtsSaleType.Open;
                                                                                            
                                                                                            //发票类型
                                                                                            dtsInvoiceType.Connection = GetRFERP;
                                                                                            dtsInvoiceType.SQL.Text = "SELECT a.FName,a.FInterID "
                                                                                          	+ "FROM dbo.Basic_CommonData A "
                                                                                          	+ "INNER JOIN Basic_CommonDataType b ON a.FTypeID = b.FInterID "
                                                                                          	+ "WHERE b.FDataName = '" + UGMM.LT("发票类型") + "'";
                                                                                            dtsInvoiceType.Open;
                                                                                            
                                                                                            //付款方式
                                                                                            dtsPayItem.Connection = GetRFERP;
                                                                                            dtsPayItem.SQL.Text = "SELECT a.FName,a.FInterID "
                                                                                          	+ "FROM dbo.Basic_CommonData A "
                                                                                          	+ "INNER JOIN Basic_CommonDataType b ON a.FTypeID = b.FInterID "
                                                                                          	+ "WHERE b.FDataName = '" + UGMM.LT("付款方式") + "'";
                                                                                            dtsPayItem.Open;
                                                                                            
                                                                                            //结算方式
                                                                                            dtsSettle.Connection = GetRFERP;
                                                                                            dtsSettle.SQL.Text = "SELECT a.FName,a.FInterID "
                                                                                          	+ "FROM dbo.Basic_CommonData A "
                                                                                          	+ "INNER JOIN Basic_CommonDataType b ON a.FTypeID = b.FInterID "
                                                                                          	+ "WHERE b.FDataName = '" + UGMM.LT("结算方式") + "'";
                                                                                            dtsSettle.Open;
                                                                                            
                                                                                            //物料信息
                                                                                            dtsItem.Connection = GetRFERP;
                                                                                            dtsItem.SQL.Text = "select A.FInterID as FItemID,A.FItemCode,A.FItemName,A.FItemSpec,A.FUnitID,A.FUnitCode,A.FUnitName, "
                                                                                          	+ "b.FCoefficient,dbo.fun_GetPY(A.FItemName) as PY from Basic_Item A  "
                                                                                          	+ "left join basic_Unit B on a.FUnitID = b.FInterID "
                                                                                          	+ "left join Basic_ItemGroup c on a.FGroupID = c.FInterID "
                                                                                          	+ "where A.FTypeID=1  and isnull(FfrozenFor,0) = 0 "
                                                                                          	+ "Order by FItemCode";
                                                                                            dtsItem.Open;
                                                                                            //分组类型的初始化设置
                                                                                            rgFCustomerType.Items.CommaText = UGMM.LT("国内客户,国外客户");
                                                                                          }
                                                                                          
                                                                                          1
                                                                                          2
                                                                                          3
                                                                                          4
                                                                                          5
                                                                                          6
                                                                                          7
                                                                                          8
                                                                                          9
                                                                                          10
                                                                                          11
                                                                                          12
                                                                                          13
                                                                                          14
                                                                                          15
                                                                                          16
                                                                                          17
                                                                                          18
                                                                                          19
                                                                                          20
                                                                                          21
                                                                                          22
                                                                                          23
                                                                                          24
                                                                                          25
                                                                                          26
                                                                                          27
                                                                                          28
                                                                                          29
                                                                                          30
                                                                                          31
                                                                                          32
                                                                                          33
                                                                                          34
                                                                                          35
                                                                                          36
                                                                                          37
                                                                                          38
                                                                                          39
                                                                                          40
                                                                                          41
                                                                                          42
                                                                                          43
                                                                                          44
                                                                                          45
                                                                                          46
                                                                                          47
                                                                                          48
                                                                                          49
                                                                                          50
                                                                                          51
                                                                                          52
                                                                                          53
                                                                                          54
                                                                                          55
                                                                                          56
                                                                                          57
                                                                                          58
                                                                                          59
                                                                                          60
                                                                                          61
                                                                                          62
                                                                                          63
                                                                                          64
                                                                                          65
                                                                                          66
                                                                                          67
                                                                                          68
                                                                                          69
                                                                                          70
                                                                                          71
                                                                                          72
                                                                                          73
                                                                                          74
                                                                                          75
                                                                                          76
                                                                                          77
                                                                                          78
                                                                                          //PasScript
                                                                                          no PasScript
                                                                                          
                                                                                          1
                                                                                          2
                                                                                          // Make sure to add code blocks to your code group

                                                                                          # 2.3.5. 多语言设置

                                                                                            点击FastWeb低代码开发平台菜单导航项中的系统管理-翻译-词条维护。

                                                                                            收集此页面窗口中所有需要进行翻译的词条(包括程序中设置的多语言项目),点击添加按钮,根据提示填写维护。

                                                                                          # 2.3.6. 运行效果

                                                                                          # 3. 业务单据页面设置

                                                                                          # 3.1. 销售订单-多笔数据主从表单

                                                                                            点击菜单导航栏中的模块列表(WEB),在打开的模块列表中点击添加按钮,添加标题为销售订单的模块,添加的内容样式如下,主要填写组别、编号、标题、开发用户等内容,使用PasScript的用户编号请填写为 W-EQ-MOD-2134-1,使用JScript的用户编号请填写 W-EQ-MOD-2134-2。填写完成后,点击保存按钮。

                                                                                            选择刚才创建的标题为销售订单的模块,点击上方的模块设计按钮,进入模块设计界面。

                                                                                            销售订单的页面设置如下图。

                                                                                          # 3.1.1. 功能简述

                                                                                            此页面用于查询销售订单信息,功能涉及到查询条件的引入,初始化单据等。

                                                                                          # 3.1.2. 窗体设置

                                                                                          属性 取值 说明
                                                                                          Align alClient 布局填满整个客户端

                                                                                          # 3.1.3. 控件设置

                                                                                          • 控件说明

                                                                                          TUgPanel类型的控件在运行

                                                                                          控件名称 控件类型 说明
                                                                                          UgPanel01 TUgPanel 布局控件,放置于左侧位置
                                                                                          Title:查询条件
                                                                                          TitleAlign:taLeftJustify
                                                                                          TitlePosition:tpLeft
                                                                                          Collapsible:True
                                                                                          UgContainerPanel01 TUgContainerPanel 布局控件,在UgPanel01中放置,用于放置查询条件及按钮等控件
                                                                                          dtpBegin TUgDateTimePicker 用于设置起始时间
                                                                                          DateTime:2021-01-01
                                                                                          FieldLabel:订单日期
                                                                                          FieldLabelAlign:laTop
                                                                                          dtpEnd TUgDateTimePicker 用于设置截止时间
                                                                                          DateTime:2021-03-01
                                                                                          FieldLabel:订单日期
                                                                                          FieldLabelAlign:laTop
                                                                                          edQuery TUgEdit 用于设置输入的内容
                                                                                          FieldLabel:客户代码或名称
                                                                                          FieldLabelAlign:laTop
                                                                                          EmptyText:输入客户代码或名称
                                                                                          edFBillNo TUgEdit 用于设置输入的单据编号
                                                                                          FieldLabel:单据编号
                                                                                          FieldLabelAlign:laTop
                                                                                          UgComboBox01 TUgComboBox 用于设置查询的单据状态
                                                                                          FieldLabel:单据状态
                                                                                          FieldLabelAlign:laTop
                                                                                          btnQuery TUgBitBtn 设置查询按钮
                                                                                          Caption:查询
                                                                                          IconCls:Search
                                                                                          btnClear TUgBitBtn 设置清除按钮
                                                                                          Caption:清除
                                                                                          btnAppend TUgBitBtn 设置新建按钮
                                                                                          Caption:新建
                                                                                          dts1 TUgRFDataSet 销售订单数据集
                                                                                          ds1 TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dts1。
                                                                                          UgHiddenPanel01 TUgHiddenPanel 隐藏面板,用于隐藏一些用于定义类的控件。
                                                                                          btnWidgeEdit TUgButtonWidget 按钮布局控件,用于在表格中设置按钮
                                                                                          Caption:查看
                                                                                          UgDBGrid01 TUgDBGrid 表格
                                                                                          DataSource:ds1
                                                                                          WebOptions.Paged:False
                                                                                          btnEditor TUgBitBtn 设置编辑按钮
                                                                                          Caption:编辑
                                                                                          Visible:False
                                                                                          btnChart TUgButton 设置排名分析按钮
                                                                                          Caption: 排名分析
                                                                                          • UgDBGrid01字段设置

                                                                                            选择并双击UgDBGrid01控件,打开字段编辑器,根据下图显示的内容进行编辑。点击左上角的+或者-进行新增行或删除行操作。双击FieldName或者Caption可修改对应行的字段名称或者显示标题内容。ReadOnly用于设置字段是否为可读属性。

                                                                                            设置完成后,在窗体结构与检视器中选择刚才创建的字段FOperation,修改WidgetColumn.Enabled为True,指定Widget为btnWidget。

                                                                                          # 3.1.4. 程序设计

                                                                                            在初始设置程序时,使用JScript用户需勾选pub_js_tarslink与pub_js_messageinfo单元,使用PasScript的用户请勾选pub_pas_tarslink与pub_pas_messageinfo单元。

                                                                                          • 初始设置:设置显示数据集的初始化内容。(仅限PasScript)。
                                                                                          Begin
                                                                                              //打开页面显示,初始化控件显示
                                                                                              dts1.Close;
                                                                                              dts1.Connection := GetRFERP;
                                                                                              resume;
                                                                                              UgComboBox01.Items.CommaText := UGMM.LT('全部,已审核,草稿,作废');
                                                                                              UgComboBox01.ItemIndex := 0;
                                                                                              UgComboBoxSelect;
                                                                                              dts1.Open;
                                                                                          End.
                                                                                          
                                                                                          1
                                                                                          2
                                                                                          3
                                                                                          4
                                                                                          5
                                                                                          6
                                                                                          7
                                                                                          8
                                                                                          9
                                                                                          10
                                                                                          • btnQueryOnClick:btnQuery的OnClick时间,点击查询信息,将查询条件中的内容引入至查询SQL中。
                                                                                            //JScript
                                                                                            function btnQueryOnClick(sender)
                                                                                            //查询信息,将查询条件中的内容引入至查询SQL中
                                                                                            {
                                                                                              dts1.Close;
                                                                                              resume;
                                                                                              if (edQuery.Text != "")
                                                                                                dts1.AddWhere("a.FCustCode LIKE '%" + edQuery.Text + "%' or a.FCustName LIKE '%" + edQuery.Text + "%'");
                                                                                              if (edFBillNo.Text != "")
                                                                                                dts1.AddWhere("a.FBillNo LIKE '%" + edFBillNo.Text + "%'");
                                                                                              UgComboBoxSelect;
                                                                                              dts1.Open;
                                                                                            } 
                                                                                            
                                                                                            1
                                                                                            2
                                                                                            3
                                                                                            4
                                                                                            5
                                                                                            6
                                                                                            7
                                                                                            8
                                                                                            9
                                                                                            10
                                                                                            11
                                                                                            12
                                                                                            13
                                                                                            //PasScript
                                                                                            procedure btnQueryOnClick(sender: tobject);
                                                                                            //查询信息,将查询条件中的内容引入至查询SQL中
                                                                                            begin
                                                                                              dts1.Close;
                                                                                              resume;
                                                                                              if edQuery.Text <> '' Then
                                                                                                dts1.AddWhere('a.FCustCode LIKE ''%' + edQuery.Text + '%'' or a.FCustName LIKE ''%' + edQuery.Text + '%''');
                                                                                              if edFBillNo.Text <> '' Then
                                                                                                dts1.AddWhere('a.FBillNo LIKE ''%' + edFBillNo.Text + '%''');
                                                                                              UgComboBoxSelect;
                                                                                              dts1.Open;
                                                                                            end;  
                                                                                            
                                                                                            1
                                                                                            2
                                                                                            3
                                                                                            4
                                                                                            5
                                                                                            6
                                                                                            7
                                                                                            8
                                                                                            9
                                                                                            10
                                                                                            11
                                                                                            12
                                                                                            13
                                                                                            // Make sure to add code blocks to your code group
                                                                                            • btnClearOnClick:btnClear的OnClick时间,点击清除查询条件,初始化查询条件设置。
                                                                                              //JScript
                                                                                              function btnClearOnClick(sender)
                                                                                              //清除查询条件,初始化查询条件设置
                                                                                              {
                                                                                                edQuery.Text =  "";
                                                                                                edFBillNo.Text = "";
                                                                                                dts1.Close;
                                                                                                resume;
                                                                                                UgComboBoxSelect;
                                                                                                dts1.Open;  
                                                                                              }
                                                                                              
                                                                                              1
                                                                                              2
                                                                                              3
                                                                                              4
                                                                                              5
                                                                                              6
                                                                                              7
                                                                                              8
                                                                                              9
                                                                                              10
                                                                                              11
                                                                                              //PasScript
                                                                                              procedure btnClearOnClick(sender: tobject);
                                                                                              //清除查询条件,初始化查询条件设置
                                                                                              begin
                                                                                                edQuery.Text :=  '';
                                                                                                edFBillNo.Text := '';
                                                                                                dts1.Close;
                                                                                                resume;
                                                                                                UgComboBoxSelect;
                                                                                                dts1.Open;  
                                                                                              end;
                                                                                              
                                                                                              1
                                                                                              2
                                                                                              3
                                                                                              4
                                                                                              5
                                                                                              6
                                                                                              7
                                                                                              8
                                                                                              9
                                                                                              10
                                                                                              11
                                                                                              // Make sure to add code blocks to your code group
                                                                                              • UgComboBoxSelect:复选框的设置,确认查询状态条件。
                                                                                                //JScript
                                                                                                function UgComboBoxSelect()
                                                                                                //复选框设置
                                                                                                {
                                                                                                  if (UgComboBox01.ItemIndex == 0)
                                                                                                    dts1.AddWhere("a.FStatus IN (0,1,2)");
                                                                                                  if (UgComboBox01.ItemIndex == 1)
                                                                                                    dts1.AddWhere("a.FStatus = 2" );
                                                                                                  if (UgComboBox01.ItemIndex == 2)
                                                                                                    dts1.AddWhere("a.FStatus = 1");
                                                                                                  if (UgComboBox01.ItemIndex == 3)
                                                                                                    dts1.AddWhere("a.FStatus = 0");
                                                                                                }
                                                                                                
                                                                                                
                                                                                                1
                                                                                                2
                                                                                                3
                                                                                                4
                                                                                                5
                                                                                                6
                                                                                                7
                                                                                                8
                                                                                                9
                                                                                                10
                                                                                                11
                                                                                                12
                                                                                                13
                                                                                                14
                                                                                                //PasScript
                                                                                                Procedure UgComboBoxSelect;
                                                                                                //复选框设置
                                                                                                Begin
                                                                                                  if UgComboBox01.ItemIndex = 0 then
                                                                                                    dts1.AddWhere('a.FStatus IN (0,1,2)');
                                                                                                  IF UgComboBox01.ItemIndex = 1 Then
                                                                                                    dts1.AddWhere('a.FStatus = 2' );
                                                                                                  If UgComboBox01.ItemIndex = 2 Then
                                                                                                    dts1.AddWhere('a.FStatus = 1');
                                                                                                  If UgComboBox01.ItemIndex = 3 Then
                                                                                                    dts1.AddWhere('a.FStatus = 0');
                                                                                                End;
                                                                                                
                                                                                                1
                                                                                                2
                                                                                                3
                                                                                                4
                                                                                                5
                                                                                                6
                                                                                                7
                                                                                                8
                                                                                                9
                                                                                                10
                                                                                                11
                                                                                                12
                                                                                                13
                                                                                                // Make sure to add code blocks to your code group
                                                                                                • resume:设置恢复初始查询条件。
                                                                                                  //JScript
                                                                                                  function resume()
                                                                                                  //恢复初始查询条件的设置
                                                                                                  {
                                                                                                      dts1.SQL.Text = "select b.FID,b.FInterID,a.FBillID,a.FBillNo,a.FDate,a.FSignDate," + 
                                                                                                      "a.FCustCode,a.FCustName,a.FDeptName,a.FEmpName,FProductItemCode,FProductItemName," + 
                                                                                                      "b.FItemCode,b.FItemName,b.FItemSpec,b.FUnitName,b.FAuxQty,a.FContractNo,FSeason," + 
                                                                                                      "a.FBiller,a.FCreateDate,a.FChecker,a.FCheckDate, case a.FStatus WHEN 0 THEN '" + 
                                                                                                      UGMM.LT("已作废") + "' WHEN 1 THEN '" + UGMM.LT("草 稿") + "' WHEN 2 THEN '" + 
                                                                                                      UGMM.LT("已审核") + "' END AS FStatus,a.FClosed," + 
                                                                                                      "b.FAuxPrice,b.FAmount,FDeliverRemark as FDeliverDate,c.FPrintCount " + 
                                                                                                      "from SAL_Order a(NOLOCK) " + 
                                                                                                      "inner join SAL_OrderEntry b(NOLOCK)  on a.FInterID = b.FInterID " + 
                                                                                                      "Left join (select FDataID,isnull(COUNT(1),0) as FPrintCount from Dict_PrintRecord Group By FDataID) C " + 
                                                                                                      "on b.FInterID = c.FDataID " + 
                                                                                                      "Where 1 = 1  " +
                                                                                                      "Order by a.FDate desc";
                                                                                                      dts1.AddWhere("a.FDate between '" + DateToStr(dtpBegin.DateTime) +  "' and '" + DateToStr(dtpEnd.DateTime) + "'");
                                                                                                  }
                                                                                                  
                                                                                                  1
                                                                                                  2
                                                                                                  3
                                                                                                  4
                                                                                                  5
                                                                                                  6
                                                                                                  7
                                                                                                  8
                                                                                                  9
                                                                                                  10
                                                                                                  11
                                                                                                  12
                                                                                                  13
                                                                                                  14
                                                                                                  15
                                                                                                  16
                                                                                                  17
                                                                                                  18
                                                                                                  19
                                                                                                  //PasScript
                                                                                                  procedure resume;
                                                                                                  //恢复初始查询条件的设置
                                                                                                  Begin
                                                                                                      dts1.SQL.Text := 'select b.FID,b.FInterID,a.FBillID,a.FBillNo,a.FDate,a.FSignDate,' + 
                                                                                                      'a.FCustCode,a.FCustName,a.FDeptName,a.FEmpName,FProductItemCode,FProductItemName,' + 
                                                                                                      'b.FItemCode,b.FItemName,b.FItemSpec,b.FUnitName,b.FAuxQty,a.FContractNo,FSeason,' + 
                                                                                                      'a.FBiller,a.FCreateDate,a.FChecker,a.FCheckDate, case a.FStatus WHEN 0 THEN ''' + 
                                                                                                      UGMM.LT('已作废') + ''' WHEN 1 THEN ''' + UGMM.LT('草 稿') + ''' WHEN 2 THEN ''' + 
                                                                                                      UGMM.LT('已审核') + ''' END AS FStatus,a.FClosed,' + 
                                                                                                      'b.FAuxPrice,b.FAmount,FDeliverRemark as FDeliverDate,c.FPrintCount ' + 
                                                                                                      'from SAL_Order a(NOLOCK) ' + 
                                                                                                      'inner join SAL_OrderEntry b(NOLOCK)  on a.FInterID = b.FInterID ' + 
                                                                                                      'Left join (select FDataID,isnull(COUNT(1),0) as FPrintCount from Dict_PrintRecord Group By FDataID) C ' + 
                                                                                                      'on b.FInterID = c.FDataID ' + 
                                                                                                      'Where 1 = 1  ' +
                                                                                                      'Order by a.FDate desc';
                                                                                                      dts1.AddWhere('a.FDate between ''' + DateToStr(dtpBegin.DateTime) +  ''' and ''' + DateToStr(dtpEnd.DateTime) + '''');
                                                                                                  End;
                                                                                                  
                                                                                                  1
                                                                                                  2
                                                                                                  3
                                                                                                  4
                                                                                                  5
                                                                                                  6
                                                                                                  7
                                                                                                  8
                                                                                                  9
                                                                                                  10
                                                                                                  11
                                                                                                  12
                                                                                                  13
                                                                                                  14
                                                                                                  15
                                                                                                  16
                                                                                                  17
                                                                                                  18
                                                                                                  19
                                                                                                  // Make sure to add code blocks to your code group
                                                                                                  • btnAppendOnClick:btnAppend的OnClick时间,点击以新增销售订单。
                                                                                                    //JScript
                                                                                                    function btnAppendOnClick(sender)
                                                                                                    //新增销售订单
                                                                                                    {
                                                                                                      var F,D,DA,DList,i,FInterID;
                                                                                                      //明细数据集为空空时退出
                                                                                                      if (dts1.IsEmpty) {return;}
                                                                                                      //打开窗口W-EQ-MOD-2135-2
                                                                                                      F = UGMM.GetWebSubForm("W-EQ-MOD-2135-2");
                                                                                                      F.Caption = UGMM.LT("编辑销售订单");
                                                                                                      //翻译
                                                                                                      UGMM.LC(F);
                                                                                                      //生成单据ID
                                                                                                      FInterID = GetNodeID;
                                                                                                      D = TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dts0"));
                                                                                                      //D.SQL.Text = "select a.* from Sal_Order a(NOLOCK) where a.FInterID =:FInterID";
                                                                                                      D.ParamByName("FInterID").AsInteger = FInterID;
                                                                                                      D.Open;
                                                                                                      D.Append;
                                                                                                      //生成单据号及关联信息
                                                                                                      D.FieldByName("FInterID").AsInteger = FInterID;
                                                                                                      D.FieldByName("FBillID").AsInteger = 12020002;
                                                                                                      D.FieldByName("FBillNo").AsString = GetBillNo("12020002",now,True);
                                                                                                      D.FieldByName("FDate").AsDateTime = Date;
                                                                                                      D.FieldByName("FSignDate").AsDateTime = Date;
                                                                                                      D.FieldByName("FContractNo").AsString = D.FieldByName("FBillNo").AsString;
                                                                                                      D.FieldByName("FExchangeRate").AsInteger = 1;
                                                                                                      D.FieldByName("FStatus").AsInteger = 1;
                                                                                                      D.FieldByName("FClosed").AsInteger = 0;  
                                                                                                      D.FieldByName("FBiller").AsString = UGMM.Informations.Values["UserFullName"];
                                                                                                      D.FieldByName("FCreateDate").AsDateTime = now; 
                                                                                                      //明细数据集更新
                                                                                                      DA = TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dts1"));
                                                                                                      DA.ParamByName("FInterID").AsString = D.FieldByName("FInterID").AsString;
                                                                                                      DA.Open;
                                                                                                      //数据列表更新
                                                                                                      DList = TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsList"));
                                                                                                      DList.Locate("FInterID",dts1.FieldByName("FInterID").AsString,nil);
                                                                                                      TUgWebRunFrame(TUgWebForm(F).RunFrame).ExecuteCode("RefState(-1);");
                                                                                                      if (F.ShowModal == mrOK) 
                                                                                                      {
                                                                                                      
                                                                                                      }
                                                                                                      //关闭释放窗口W-EQ-MOD-2135-2
                                                                                                      UGMM.DelWebSubForm("W-EQ-MOD-2135-2");
                                                                                                      btnQueryOnClick(sender);
                                                                                                    }
                                                                                                    
                                                                                                    1
                                                                                                    2
                                                                                                    3
                                                                                                    4
                                                                                                    5
                                                                                                    6
                                                                                                    7
                                                                                                    8
                                                                                                    9
                                                                                                    10
                                                                                                    11
                                                                                                    12
                                                                                                    13
                                                                                                    14
                                                                                                    15
                                                                                                    16
                                                                                                    17
                                                                                                    18
                                                                                                    19
                                                                                                    20
                                                                                                    21
                                                                                                    22
                                                                                                    23
                                                                                                    24
                                                                                                    25
                                                                                                    26
                                                                                                    27
                                                                                                    28
                                                                                                    29
                                                                                                    30
                                                                                                    31
                                                                                                    32
                                                                                                    33
                                                                                                    34
                                                                                                    35
                                                                                                    36
                                                                                                    37
                                                                                                    38
                                                                                                    39
                                                                                                    40
                                                                                                    41
                                                                                                    42
                                                                                                    43
                                                                                                    44
                                                                                                    45
                                                                                                    46
                                                                                                    47
                                                                                                    //PasScript
                                                                                                    procedure btnAppendOnClick(sender: tobject);
                                                                                                    //新增销售订单
                                                                                                    Var
                                                                                                      F:TUniForm;
                                                                                                      D:TUgRFDataSet;
                                                                                                      DA: TUgRFDataSet;
                                                                                                      DList: TUgRFDataSet;
                                                                                                      i:String;
                                                                                                      FInterID: Integer;
                                                                                                    begin
                                                                                                      //明细数据集为空空时退出
                                                                                                      if dts1.IsEmpty then Exit;
                                                                                                      //销售订单编辑W-EQ-MOD-2135-1
                                                                                                      F := UGMM.GetWebSubForm('W-EQ-MOD-2135-1');
                                                                                                      F.Caption := UGMM.LT('编辑销售订单');
                                                                                                      //翻译
                                                                                                      UGMM.LC(F);
                                                                                                      //生成单据ID
                                                                                                      FInterID := GetNodeID;
                                                                                                      D := TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dts0'));
                                                                                                      //D.SQL.Text := 'select a.* from Sal_Order a(NOLOCK) where a.FInterID =:FInterID';
                                                                                                      D.ParamByName('FInterID').AsInteger := FInterID;
                                                                                                      D.Open;
                                                                                                      D.Append;
                                                                                                      //生成单据号及关联信息
                                                                                                      D.FieldByName('FInterID').AsInteger := FInterID;
                                                                                                      D.FieldByName('FBillID').AsInteger := 12020002;
                                                                                                      D.FieldByName('FBillNo').AsString := GetBillNo('12020002',now,True);
                                                                                                      D.FieldByName('FDate').AsDateTime := Date;
                                                                                                      D.FieldByName('FSignDate').AsDateTime := Date;
                                                                                                      D.FieldByName('FContractNo').AsString := D.FieldByName('FBillNo').AsString;
                                                                                                      D.FieldByName('FExchangeRate').AsInteger := 1;
                                                                                                      D.FieldByName('FStatus').AsInteger := 1;
                                                                                                      D.FieldByName('FClosed').AsInteger := 0;  
                                                                                                      D.FieldByName('FBiller').AsString := UGMM.Informations.Values['UserFullName'];
                                                                                                      D.FieldByName('FCreateDate').AsDateTime := now; 
                                                                                                      //明细数据集更新
                                                                                                      DA := TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dts1'));
                                                                                                      DA.ParamByName('FInterID').AsString := D.FieldByName('FInterID').AsString;
                                                                                                      DA.Open;
                                                                                                      //数据列表更新
                                                                                                      DList := TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsList'));
                                                                                                      DList.Locate('FInterID',dts1.FieldByName('FInterID').AsString,nil);
                                                                                                      TUgWebRunFrame(TUgWebForm(F).RunFrame).ExecuteCode('RefState(-1);');
                                                                                                      if F.ShowModal = mrOK then 
                                                                                                      Begin
                                                                                                    
                                                                                                      End;
                                                                                                      //关闭释放窗口W-EQ-MOD-2135-1
                                                                                                      UGMM.DelWebSubForm('W-EQ-MOD-2135-1');
                                                                                                      btnQueryOnClick(sender);
                                                                                                    end;
                                                                                                    
                                                                                                    1
                                                                                                    2
                                                                                                    3
                                                                                                    4
                                                                                                    5
                                                                                                    6
                                                                                                    7
                                                                                                    8
                                                                                                    9
                                                                                                    10
                                                                                                    11
                                                                                                    12
                                                                                                    13
                                                                                                    14
                                                                                                    15
                                                                                                    16
                                                                                                    17
                                                                                                    18
                                                                                                    19
                                                                                                    20
                                                                                                    21
                                                                                                    22
                                                                                                    23
                                                                                                    24
                                                                                                    25
                                                                                                    26
                                                                                                    27
                                                                                                    28
                                                                                                    29
                                                                                                    30
                                                                                                    31
                                                                                                    32
                                                                                                    33
                                                                                                    34
                                                                                                    35
                                                                                                    36
                                                                                                    37
                                                                                                    38
                                                                                                    39
                                                                                                    40
                                                                                                    41
                                                                                                    42
                                                                                                    43
                                                                                                    44
                                                                                                    45
                                                                                                    46
                                                                                                    47
                                                                                                    48
                                                                                                    49
                                                                                                    50
                                                                                                    51
                                                                                                    52
                                                                                                    53
                                                                                                    // Make sure to add code blocks to your code group
                                                                                                    • btnEditorOnClick:btnEditor的OnClick事件,点击打开新窗口以编辑销售订单。btnEditor在页面中不可见。
                                                                                                      //JScript
                                                                                                      function btnEditorOnClick(sender)
                                                                                                      //编辑销售订单
                                                                                                      {
                                                                                                        var F,D,DA,DList,i;
                                                                                                        //无明细选择时退出
                                                                                                        if (dts1.IsEmpty) {return;}
                                                                                                        //打开窗口页面W-EQ-MOD-2135-2
                                                                                                        F = UGMM.GetWebSubForm("W-EQ-MOD-2135-2");
                                                                                                        F.Caption = UGMM.LT("编辑销售订单");
                                                                                                        //翻译
                                                                                                        UGMM.LC(F);
                                                                                                        //主数据集打开
                                                                                                        D = TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dts0"));
                                                                                                        D.ParamByName("FInterID").AsString = dts1.FieldByName("FInterID").AsString;
                                                                                                        D.Open;
                                                                                                        //明细数据集打开
                                                                                                        DA = TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dts1"));
                                                                                                        DA.ParamByName("FInterID").AsString = dts1.FieldByName("FInterID").AsString;
                                                                                                        DA.Open;
                                                                                                        //列表数据集打开
                                                                                                        DList = TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsList"));
                                                                                                        DList.Locate("FInterID",dts1.FieldByName("FInterID").AsString,nil);
                                                                                                        //刷新页面编辑状态
                                                                                                        TUgWebRunFrame(TUgWebForm(F).RunFrame).ExecuteCode("RefState(" + D.FieldByName("FStatus").AsString + ");"); 
                                                                                                        if (F.ShowModal == mrOK) 
                                                                                                        {
                                                                                                        
                                                                                                        }
                                                                                                        //关闭释放窗口W-EQ-MOD-2135-2
                                                                                                        UGMM.DelWebSubForm("W-EQ-MOD-2135-2");
                                                                                                        btnQueryOnClick(sender);
                                                                                                      }
                                                                                                      
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      29
                                                                                                      30
                                                                                                      31
                                                                                                      32
                                                                                                      33
                                                                                                      //PasScript
                                                                                                      procedure btnEditorOnClick(sender: tobject);
                                                                                                      //编辑销售订单
                                                                                                      Var
                                                                                                        F:TUniForm;
                                                                                                        D:TUgRFDataSet;
                                                                                                        DA: TUgRFDataSet;
                                                                                                        DList: TUgRFDataSet;
                                                                                                        i:String;
                                                                                                      begin
                                                                                                        //无明细选择时退出
                                                                                                        if dts1.IsEmpty then Exit;
                                                                                                        //打开窗口页面W-EQ-MOD-2135-1
                                                                                                        F := UGMM.GetWebSubForm('W-EQ-MOD-2135-1');
                                                                                                        F.Caption := UGMM.LT('编辑销售订单');
                                                                                                        //翻译
                                                                                                        UGMM.LC(F);
                                                                                                        //主数据集打开
                                                                                                        D := TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dts0'));
                                                                                                        D.ParamByName('FInterID').AsString := dts1.FieldByName('FInterID').AsString;
                                                                                                        D.Open;
                                                                                                        //明细数据集打开
                                                                                                        DA := TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dts1'));
                                                                                                        DA.ParamByName('FInterID').AsString := dts1.FieldByName('FInterID').AsString;
                                                                                                        DA.Open;
                                                                                                        //列表数据集打开
                                                                                                        DList := TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsList'));
                                                                                                        DList.Locate('FInterID',dts1.FieldByName('FInterID').AsString,nil);
                                                                                                        //刷新页面编辑状态
                                                                                                        TUgWebRunFrame(TUgWebForm(F).RunFrame).ExecuteCode('RefState(' + D.FieldByName('FStatus').AsString + ');'); 
                                                                                                        if F.ShowModal = mrOK then 
                                                                                                        Begin
                                                                                                           
                                                                                                        End;
                                                                                                        //关闭释放窗口
                                                                                                        UGMM.DelWebSubForm('W-EQ-MOD-2135-1');
                                                                                                        btnQueryOnClick(sender);
                                                                                                      end;
                                                                                                      
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      29
                                                                                                      30
                                                                                                      31
                                                                                                      32
                                                                                                      33
                                                                                                      34
                                                                                                      35
                                                                                                      36
                                                                                                      37
                                                                                                      38
                                                                                                      // Make sure to add code blocks to your code group
                                                                                                      • btnRefreshOnClick:btnRefresh的OnClick事件,点击以刷新显示。
                                                                                                        //JScript
                                                                                                        function btnRefreshOnClick(sender)
                                                                                                        //刷新
                                                                                                        {
                                                                                                          dts1.Close;
                                                                                                          resume;
                                                                                                          dts1.Open;    
                                                                                                        }
                                                                                                        
                                                                                                        1
                                                                                                        2
                                                                                                        3
                                                                                                        4
                                                                                                        5
                                                                                                        6
                                                                                                        7
                                                                                                        8
                                                                                                        //PasScript
                                                                                                        procedure btnRefreshOnClick(sender: tobject);
                                                                                                        //刷新
                                                                                                        begin
                                                                                                          dts1.Close;
                                                                                                          resume;
                                                                                                          dts1.Open;    
                                                                                                        end;
                                                                                                        
                                                                                                        1
                                                                                                        2
                                                                                                        3
                                                                                                        4
                                                                                                        5
                                                                                                        6
                                                                                                        7
                                                                                                        8
                                                                                                        // Make sure to add code blocks to your code group
                                                                                                        • btnChartOnClick:btnChart的OnClick事件,点击以打开销售订单排名分析窗口。
                                                                                                          //JScript
                                                                                                          function btnChartOnClick(sender)
                                                                                                          {
                                                                                                            //打开窗口销售订单排名分析
                                                                                                            var F = UGMM.GetWebSubForm("W-EQ-MOD-2136-2");
                                                                                                            F.Caption = UGMM.LT("销售订单排名分析");
                                                                                                            //翻译
                                                                                                            UGMM.LC(F);
                                                                                                            //关闭释放窗口
                                                                                                            if (F.ShowModal == mrOK) 
                                                                                                            {
                                                                                                            
                                                                                                            }
                                                                                                            UGMM.DelWebSubForm("W-EQ-MOD-2136-2");
                                                                                                          }
                                                                                                          
                                                                                                          1
                                                                                                          2
                                                                                                          3
                                                                                                          4
                                                                                                          5
                                                                                                          6
                                                                                                          7
                                                                                                          8
                                                                                                          9
                                                                                                          10
                                                                                                          11
                                                                                                          12
                                                                                                          13
                                                                                                          14
                                                                                                          15
                                                                                                          //PasScript
                                                                                                          procedure btnChartOnClick(sender: tobject);
                                                                                                          Var
                                                                                                            F:TUniForm;
                                                                                                          begin
                                                                                                            //打开销售订单排名分析W-EQ-MOD-2136-1
                                                                                                            F := UGMM.GetWebSubForm('W-EQ-MOD-2136-1');
                                                                                                            F.Caption := UGMM.LT('销售订单排名分析');
                                                                                                            //翻译
                                                                                                            UGMM.LC(F);
                                                                                                            //关闭释放窗口
                                                                                                            if F.ShowModal = mrOK then 
                                                                                                            Begin
                                                                                                          
                                                                                                            End;
                                                                                                            UGMM.DelWebSubForm('W-EQ-MOD-2136-1');
                                                                                                          end;
                                                                                                          
                                                                                                          1
                                                                                                          2
                                                                                                          3
                                                                                                          4
                                                                                                          5
                                                                                                          6
                                                                                                          7
                                                                                                          8
                                                                                                          9
                                                                                                          10
                                                                                                          11
                                                                                                          12
                                                                                                          13
                                                                                                          14
                                                                                                          15
                                                                                                          16
                                                                                                          17
                                                                                                          // Make sure to add code blocks to your code group
                                                                                                          • UgWebRunFrameOnAfterRunScript:UgWebRunFrame的OnAfterRunScript事件,启用翻译功能。
                                                                                                            //JScript
                                                                                                            function UgWebRunFrameOnAfterRunScript(sender)
                                                                                                            //翻译及权限验证
                                                                                                            {
                                                                                                              UGMM.LC(Self);
                                                                                                                //打开页面显示,初始化控件显示
                                                                                                                dts1.Close;
                                                                                                                dts1.Connection = GetRFERP;
                                                                                                                resume;
                                                                                                                UgComboBox01.Items.CommaText = UGMM.LT("全部,已审核,草稿,作废");
                                                                                                                UgComboBox01.ItemIndex = 0;
                                                                                                                UgComboBoxSelect;
                                                                                                                dts1.Open;
                                                                                                            }
                                                                                                            
                                                                                                            1
                                                                                                            2
                                                                                                            3
                                                                                                            4
                                                                                                            5
                                                                                                            6
                                                                                                            7
                                                                                                            8
                                                                                                            9
                                                                                                            10
                                                                                                            11
                                                                                                            12
                                                                                                            13
                                                                                                            14
                                                                                                            //PasScript
                                                                                                            procedure UgWebRunFrameOnAfterRunScript(const sender: tobject);
                                                                                                            //翻译及权限验证
                                                                                                            begin
                                                                                                              UGMM.LC(Self);
                                                                                                            end;
                                                                                                            
                                                                                                            1
                                                                                                            2
                                                                                                            3
                                                                                                            4
                                                                                                            5
                                                                                                            6
                                                                                                            // Make sure to add code blocks to your code group
                                                                                                            • btnShowAllOnClick:btnShowAll的OnClick事件,显示全部内容。
                                                                                                              //JScript
                                                                                                              function btnShowAllOnClick(sender)
                                                                                                              //显示全部
                                                                                                              {
                                                                                                                UgDBGrid01.WebOptions.Paged = False;
                                                                                                                UgDBGrid01.Refresh;
                                                                                                              }
                                                                                                              
                                                                                                              1
                                                                                                              2
                                                                                                              3
                                                                                                              4
                                                                                                              5
                                                                                                              6
                                                                                                              7
                                                                                                              //PasScript
                                                                                                              procedure btnShowAllOnClick(sender: tobject);
                                                                                                              //显示全部
                                                                                                              begin
                                                                                                                UgDBGrid01.WebOptions.Paged := False;
                                                                                                                UgDBGrid01.Refresh;
                                                                                                              end;
                                                                                                              
                                                                                                              1
                                                                                                              2
                                                                                                              3
                                                                                                              4
                                                                                                              5
                                                                                                              6
                                                                                                              7
                                                                                                              // Make sure to add code blocks to your code group
                                                                                                              • btnExitOnClick:btnExit的OnClick事件,点击以退出。
                                                                                                                //JScript
                                                                                                                function btnExitOnClick(sender)
                                                                                                                //退出
                                                                                                                {
                                                                                                                  var p = Self.Parent;
                                                                                                                  if (p is TUgWebForm)
                                                                                                                  {
                                                                                                                    TUgWebForm(p).Close;
                                                                                                                  }
                                                                                                                  if (p is TUniTabSheet)
                                                                                                                    UniSession.AddJS("document.getElementById(\"" + TUniTabSheet(p).jsid + "_tab-closeEl\").click();");
                                                                                                                }
                                                                                                                
                                                                                                                1
                                                                                                                2
                                                                                                                3
                                                                                                                4
                                                                                                                5
                                                                                                                6
                                                                                                                7
                                                                                                                8
                                                                                                                9
                                                                                                                10
                                                                                                                11
                                                                                                                12
                                                                                                                //PasScript
                                                                                                                procedure btnExitOnClick(sender: tobject);
                                                                                                                //退出
                                                                                                                Var
                                                                                                                  p:TComponent;
                                                                                                                Begin
                                                                                                                  p:=Self.Parent;
                                                                                                                  if p is TUgWebForm then
                                                                                                                  Begin
                                                                                                                    TUgWebForm(p).Close;
                                                                                                                  End;
                                                                                                                  if p is TUniTabSheet then
                                                                                                                    UniSession.AddJS('document.getElementById("' + TUniTabSheet(p).jsid + '_tab-closeEl").click();');
                                                                                                                End;
                                                                                                                
                                                                                                                1
                                                                                                                2
                                                                                                                3
                                                                                                                4
                                                                                                                5
                                                                                                                6
                                                                                                                7
                                                                                                                8
                                                                                                                9
                                                                                                                10
                                                                                                                11
                                                                                                                12
                                                                                                                13
                                                                                                                14
                                                                                                                // Make sure to add code blocks to your code group
                                                                                                                • btnWidgetEditOnClick:btnWidgetEdit的OnClick事件,按钮位于表格中,点击以打开对应的编辑页面。
                                                                                                                  //JScript
                                                                                                                  function btnWidgetEditOnClick(sender)
                                                                                                                  //编辑功能
                                                                                                                  {
                                                                                                                    btnEditorOnClick(Sender);
                                                                                                                  }
                                                                                                                  
                                                                                                                  1
                                                                                                                  2
                                                                                                                  3
                                                                                                                  4
                                                                                                                  5
                                                                                                                  6
                                                                                                                  //PasScript
                                                                                                                  procedure btnWidgetEditOnClick(sender: tobject);
                                                                                                                  //编辑功能
                                                                                                                  begin
                                                                                                                    btnEditorOnClick(Sender);
                                                                                                                  end;
                                                                                                                  
                                                                                                                  1
                                                                                                                  2
                                                                                                                  3
                                                                                                                  4
                                                                                                                  5
                                                                                                                  6
                                                                                                                  // Make sure to add code blocks to your code group
                                                                                                                  • UgComboBox01OnChange:UgComboBox01的OnChange事件,切换时更新查询条件,设置显示不同单据状态的单据。
                                                                                                                    //JScript
                                                                                                                    function UgComboBox01OnChange(sender)
                                                                                                                    //切换时更新单据页面显示
                                                                                                                    {
                                                                                                                      dts1.Close;
                                                                                                                      resume;
                                                                                                                      UgComboBoxSelect;
                                                                                                                      dts1.Open;
                                                                                                                    }
                                                                                                                    
                                                                                                                    1
                                                                                                                    2
                                                                                                                    3
                                                                                                                    4
                                                                                                                    5
                                                                                                                    6
                                                                                                                    7
                                                                                                                    8
                                                                                                                    9
                                                                                                                    //PasScript
                                                                                                                    procedure UgComboBox01OnChange(sender: tobject);
                                                                                                                    //切换时更新单据页面显示
                                                                                                                    begin
                                                                                                                      dts1.Close;
                                                                                                                      resume;
                                                                                                                      UgComboBoxSelect;
                                                                                                                      dts1.Open;
                                                                                                                    end;
                                                                                                                    
                                                                                                                    1
                                                                                                                    2
                                                                                                                    3
                                                                                                                    4
                                                                                                                    5
                                                                                                                    6
                                                                                                                    7
                                                                                                                    8
                                                                                                                    9
                                                                                                                    // Make sure to add code blocks to your code group

                                                                                                                    # 3.1.5. 多语言设置

                                                                                                                      点击FastWeb低代码开发平台菜单导航项中的系统管理-翻译-词条维护。

                                                                                                                      收集此页面窗口中所有需要进行翻译的词条(包括程序中设置的多语言项目),点击添加按钮,根据提示填写维护。

                                                                                                                    # 3.1.6. 运行效果

                                                                                                                    # 3.2. 销售订单编辑-多笔数据主从表单

                                                                                                                      点击菜单导航栏中的模块列表(WEB),在打开的模块列表中点击添加按钮,添加标题为销售订单编辑的模块,添加的内容样式如下,主要填写组别、编号、标题、开发用户等内容,使用PasScript的用户编号请填写为 W-EQ-MOD-2135-1,使用JScript的用户编号请填写 W-EQ-MOD-2135-2。填写完成后,点击保存按钮。

                                                                                                                      选择刚才创建的标题为销售订单编辑的模块,点击上方的模块设计按钮,进入模块设计界面。

                                                                                                                      销售订单编辑的页面设置如下图。

                                                                                                                    # 3.2.1. 功能简述

                                                                                                                      此页面用于编辑销售订单的信息,执行审核、打印等操作,功能涉及到窗口数据集的数据导入、查找表数据的引入、审核、消审功能的存储过程的引入、窗口打印与Flying打印的引入。

                                                                                                                    # 3.2.2. 窗体设置

                                                                                                                    属性 取值 说明
                                                                                                                    Height 607 主窗体的高度(像素)
                                                                                                                    Width 850 主窗体的宽度(像素)

                                                                                                                    # 3.2.3. 控件设置

                                                                                                                    • 控件说明

                                                                                                                      修改控件设置时注意TUgPanel类型的控件需要清除Caption属性中原有的字符内容。

                                                                                                                    控件名称 控件类型 说明
                                                                                                                    UgPanel01 TUgPanel 面板控件,顶部按钮布局容器
                                                                                                                    UgContainerPanel01 TUgContainerPanel 面板控件,顶部布局,显示订单日期,状态信息等控件的布局容器
                                                                                                                    UgGroupBox01 TUgGroupBox 分组框控件,设置显示订单信息的数据感知控件,
                                                                                                                    Caption:订单信息
                                                                                                                    UgPageControl01 TUgPageControl 标签页面分组控件,在窗体结构与检视器中单击选择UgPageControl01,点击检视器上方的新增按钮新增标签页TUniabSheet新增四个标签页面
                                                                                                                    UniTabSheet1 TUniTabSheet PageControl1中的标签页面1
                                                                                                                    Caption:订单明细
                                                                                                                    UniTabSheet2 TUniTabSheet PageControl1中的标签页面2
                                                                                                                    Caption:订单要求
                                                                                                                    UniTabSheet3 TUniTabSheet PageControl1中的标签页面3
                                                                                                                    Caption:装运及包装要求
                                                                                                                    UniTabSheet4 TUniTabSheet PageControl1中的标签页面4
                                                                                                                    Caption:附件
                                                                                                                    btnAppend TUgBitBtn 新建按钮,点击以新建销售订单
                                                                                                                    Caption:新建
                                                                                                                    btnFirst TUgBitBtn 首项按钮,点击跳转至记录的首页
                                                                                                                    Caption:首项
                                                                                                                    btnPrior TUgBitBtn 前项按钮,点击跳转至记录的前项
                                                                                                                    Caption:前项
                                                                                                                    btnNext TUgBitBtn 后项按钮,点击跳转至记录的后项
                                                                                                                    Caption:后项
                                                                                                                    btnLast TUgBitBtn 末项按钮,点击跳转至记录的末项
                                                                                                                    Caption:末项
                                                                                                                    btnSave TUgBitBtn 保存按钮,点击以保存单据的更改
                                                                                                                    Caption:保存
                                                                                                                    btnExit TUgBitBtn 退出按钮,点击以退出窗口
                                                                                                                    Caption:退出
                                                                                                                    btnMenu TUgMenuButton 菜单按钮,用于放置特定的菜单项目
                                                                                                                    btnPrint TUgBitBtn Flying打印按钮
                                                                                                                    Caption:Flying打印
                                                                                                                    btnPrintMenu TUgMenuButton 菜单按钮,用于放置打印相关的菜单项目
                                                                                                                    UgPopupMenu01 TUgPopupMenu 设置菜单项的控件,在其中的Item项目中点击添加新增4个项目,分别命名为审核、消审、作废、还原、删除
                                                                                                                    PopupCompoment:btnMenu
                                                                                                                    ComboBoxPrinter TUgComboBox 用于显示打印机列表
                                                                                                                    Visible:控件是否可见,设置为False
                                                                                                                    dts0 TUgRFDataSet 销售订单主表数据集
                                                                                                                    ds0 TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dts0
                                                                                                                    dtsFStatus TUgRFDataSet 状态表数据集
                                                                                                                    dsFStatus TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsFStatus
                                                                                                                    dtsFStatus TUgRFDataSet 状态表数据集
                                                                                                                    dsFStatus TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsFStatus
                                                                                                                    dtsFSaleType TUgRFDataSet 销售类型数据集
                                                                                                                    dsFSaleType TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsFSaleType
                                                                                                                    dtsFCustID TUgRFDataSet 客户名称数据集
                                                                                                                    dsFCustID TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsFCustID
                                                                                                                    dtsFCurrencyID TUgRFDataSet 币种资料数据集
                                                                                                                    dsFCurrencyID TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsFCurrencyID
                                                                                                                    dtsFDeptID TUgRFDataSet 部门名称数据集
                                                                                                                    dsFDpetID TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsFDeptID
                                                                                                                    dtsFEmpID TUgRFDataSet 业务员名称数据集
                                                                                                                    dsFEmpID TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsFDeptEmpID
                                                                                                                    dtsList TUgRFDataSet 销售订单单据信息数据集
                                                                                                                    dtsCust TUgRFDataSet 客户资料数据集信息
                                                                                                                    dtsCompany TUgRFDataSet 公司资料数据集信息
                                                                                                                    UgTimer01 TUgTimer 定时器
                                                                                                                    UgSweetAlertClose TUgSweetAlert 在关闭时使用的消息提示对话框。
                                                                                                                    UgFlying TUgFlying HttpPort:8808
                                                                                                                    ReportName:Sal_Order.fr3
                                                                                                                    • 主数据集数据感知控件说明

                                                                                                                      此页面中首页绑定的数据源DataSource为ds0,以下数据感知控件需修改每一个控件的以下属性。TUgDBImage、TUgDBCheckBox控件类型的除外。

                                                                                                                    属性 取值 说明
                                                                                                                    FieldLabel 取值对应为数据字段的中文名称,作为控件显示的标签
                                                                                                                    FieldLabelWidth 60 设置标签显示字段的宽度
                                                                                                                    数据字段名称 中文名称 对应控件类型 控件名称 备注
                                                                                                                    FDate 订单日期 TUgDBDateTimePicker dts0FDate
                                                                                                                    FSaleType 销售类型 TUgDBLookupComboBox lkupdts0FSaleType 列表绑定的数据源
                                                                                                                    ListSource:dsFSaleType
                                                                                                                    列表显示的字段名
                                                                                                                    ListField:FName
                                                                                                                    列表对应返回的字段值
                                                                                                                    KeyField: FName
                                                                                                                    FStatus 状态 TUgDBLookupComboBox lkupdts0FSaleType 列表绑定的数据源
                                                                                                                    ListSource:dsFStatus
                                                                                                                    列表显示的字段名
                                                                                                                    ListField:FName
                                                                                                                    列表对应返回的字段值
                                                                                                                    KeyField: FID
                                                                                                                    Font.Size:20
                                                                                                                    Font.Name:楷体
                                                                                                                    Font.Style.fsBold:True
                                                                                                                    FieldLabel默认为空
                                                                                                                    FBillNo 单据编号 TUgDBEdit eddts0FBillNo ReadOnly:False
                                                                                                                    FCustID 客户名称 TUgDBLookupComboBox lkupdts0FCustID 列表绑定的数据源
                                                                                                                    ListSource:dsFCustID
                                                                                                                    列表显示的字段名
                                                                                                                    ListField:FCustName
                                                                                                                    列表对应返回的字段值
                                                                                                                    KeyField:FCustID
                                                                                                                    FContractNo 合同号 TUgDBEdit eddts0FContractNo
                                                                                                                    FCurrencyID 币种 TUgDBLookupComboBox lkupdts0FCurrencyID 列表绑定的数据源
                                                                                                                    ListSource:dsFCurrencyID
                                                                                                                    列表显示的字段名
                                                                                                                    ListField:FCurrencyName
                                                                                                                    列表对应返回的字段值
                                                                                                                    KeyField:FCurrencyID
                                                                                                                    FDeptID 部门名称 TUgDBLookupComboBox lkupdts0FDeptID 列表绑定的数据源
                                                                                                                    ListSource:dsFDeptID
                                                                                                                    列表显示的字段名
                                                                                                                    ListField:FDeptName
                                                                                                                    列表对应返回的字段值
                                                                                                                    KeyField:FDeptID
                                                                                                                    FEmpID 业务员 TUgDBLookupComboBox lkupdts0FEmpID 列表绑定的数据源
                                                                                                                    ListSource:dsFEmpID
                                                                                                                    列表显示的字段名
                                                                                                                    ListField:FEmpName
                                                                                                                    列表对应返回的字段值
                                                                                                                    KeyField:FEmpID
                                                                                                                    FExchangeRate 汇率 TUgDBNumberEdit eddts0FExchangeRate
                                                                                                                    FNote 备注 TUgDBMemo mmdts0FNote
                                                                                                                    • UniTabSheet01控件说明

                                                                                                                    TPanel类型的控件需要清除Caption属性中原有的字符内容。

                                                                                                                    控件名称 控件类型 说明
                                                                                                                    UgPanel02 TUgPanel 布局控件,布局于顶部位置,放置按钮
                                                                                                                    btnDelRow TBitBtn 删除行按钮
                                                                                                                    Caption:删除行
                                                                                                                    btnCopyRow TBitBtn 复制行
                                                                                                                    Caption:复制行
                                                                                                                    btnImportItem TBitBtn 导入物料
                                                                                                                    Caption:导入物料
                                                                                                                    dts1 TRFDataSet 销售订单明细数据集
                                                                                                                    ds1 TDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dts1
                                                                                                                    UgDBGrid01 TUgDBGrid 销售订单明细数据表格
                                                                                                                    DataSource:ds1
                                                                                                                    • UgDBGrid01字段设置

                                                                                                                      选择并双击UgDBGrid01控件,打开字段编辑器,根据下图显示的内容进行编辑。点击左上角的+或者-进行新增行或删除行操作。双击FieldName或者Caption可修改对应行的字段名称或者显示标题内容。ReadOnly用于设置字段是否为可读属性。

                                                                                                                    • TUniabSheet2数据感知控件说明

                                                                                                                      此页面中首页绑定的数据源DataSource为ds0,

                                                                                                                    数据字段名称 中文名称 对应控件类型 控件名称 备注
                                                                                                                    FOrderRequest 订单要求 TUgDBMemo memodts0FOrderRequest Align:alClient
                                                                                                                    FieldLabel:订单要求
                                                                                                                    FieldLabelWidth:60
                                                                                                                    • UniTabSheet3控件说明

                                                                                                                    控件名称 控件类型 说明
                                                                                                                    dtsPort TUgRFDataSet 港口信息数据集
                                                                                                                    dsPort TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为dtsPort
                                                                                                                    • UniTabSheet3数据感知控件说明

                                                                                                                      此页面中首页绑定的数据源DataSource为ds0,以下数据感知控件需修改每一个控件的以下属性。TUgDBImage、TUgDBCheckBox控件类型的除外。

                                                                                                                    属性 取值 说明
                                                                                                                    FieldLabel 取值对应为数据字段的中文名称,作为控件显示的标签
                                                                                                                    FieldLabelWidth 60 设置标签显示字段的宽度
                                                                                                                    数据字段名称 中文名称 对应控件类型 控件名称 备注
                                                                                                                    FSignDate 签订日期 TUgDBDateTimePicker dtpdts0FSignDate
                                                                                                                    FSignAddr 签订地点 TUgDBEdit eddts0FSignAddr
                                                                                                                    FBeginPort 出发港口 TUgDBLookupComboBox lkupdtts0FBeginPort 列表绑定的数据源
                                                                                                                    ListSource:dsPort
                                                                                                                    列表显示的字段名
                                                                                                                    ListField:FName
                                                                                                                    列表对应返回的字段值
                                                                                                                    KeyField:FName
                                                                                                                    FEndPort 目的港口 TUgDBLookupComboBox lkupdts0FEndPort 列表绑定的数据源
                                                                                                                    ListSource:dsPort
                                                                                                                    列表显示的字段名
                                                                                                                    ListField:FName
                                                                                                                    列表对应返回的字段值
                                                                                                                    KeyField:FName
                                                                                                                    FTrafficType 运输方式 TUgDBEdit eddts0FTrafficType
                                                                                                                    FPacket 包装方式 TUgDBMemo mmFPacket
                                                                                                                    • UniTabSheet4控件说明
                                                                                                                    控件名称 控件类型 说明
                                                                                                                    btnUpload TUgBitBtn 上传按钮
                                                                                                                    Caption:上传图片
                                                                                                                    • UniTabSheet4数据感知控件说明

                                                                                                                      此页面中首页绑定的数据源DataSource为ds0。

                                                                                                                    数据字段名称 中文名称 对应控件类型 控件名称 备注
                                                                                                                    FImage 订单图片 TUgDBImage imgdts0FImage

                                                                                                                    # 3.2.4. 程序设计

                                                                                                                      在初始设置程序时,使用JScript用户需勾选pub_js_tarslink与pub_js_messageinfo单元,使用PasScript的用户请勾选pub_pas_tarslink与pub_pas_messageinfo单元。

                                                                                                                    • 初始设置:设置显示数据集的初始化内容。
                                                                                                                      //JScript
                                                                                                                      //定义销售订单
                                                                                                                      var FBillID = 12020002;
                                                                                                                      
                                                                                                                      1
                                                                                                                      2
                                                                                                                      3
                                                                                                                      //PasScript
                                                                                                                      Const 
                                                                                                                      //定义销售订单
                                                                                                                      FBillID = 12020002;
                                                                                                                      
                                                                                                                      //......
                                                                                                                      
                                                                                                                      
                                                                                                                      Begin
                                                                                                                        //数据集初始设置
                                                                                                                        dts0.Connection := GETRFERP;
                                                                                                                        dts0.SQL.Text := 'select a.*,b.FCustName as FCustFullName,b.FAddress,b.FPhone1,b.FHousebank,b.FHouseBnkAct '+ 
                                                                                                                        ' from Sal_Order a(NOLOCK) LEFT JOIN Basic_Cust B ON A.FCustID = B.FInterID where a.FInterID =:FInterID';
                                                                                                                        
                                                                                                                        dts1.Connection := GETRFERP;
                                                                                                                        dts1.SQL.Text := 'select a.*,b.FBillNo as FTechnicsNo from Sal_OrderEntry a(NOLOCK) left join Tex_Technics ' + 
                                                                                                                        ' B on a.FTechnicsID = b.FInterID where a.FInterID =:FInterID order by a.FEntryID';
                                                                                                                        //单据列表(从主窗口中获取)
                                                                                                                        dtsList.Connection := GETRFERP;
                                                                                                                        dtsList.SQL.Text := 'select FInterID FROM Sal_Order where 1=1';
                                                                                                                        dtsList.Open;
                                                                                                                        
                                                                                                                        //销售类型
                                                                                                                        dtsFSaleType.Connection := GETRFERP;
                                                                                                                        dtsFSaleType.SQL.Text := 'SELECT a.FName,a.FInterID FROM dbo.Basic_CommonData A INNER JOIN Basic_CommonDataType '+ 
                                                                                                                        ' b ON a.FTypeID = b.FInterID WHERE b.FDataName = ''' + UGMM.LT('销售类型') + '''';
                                                                                                                        dtsFSaleType.Open;
                                                                                                                        //状态
                                                                                                                        dtsFStatus.Connection := GETRFERP;
                                                                                                                        dtsFStatus.SQL.Text := 'Select FName=''' + UGMM.LT('已作废') + ''',FID = 0 union Select FName=''' + UGMM.LT('草 稿') + 
                                                                                                                        ''',FID = 1 union  Select FName=''' + UGMM.LT('已审核') + ''',FID = 2 ORDER  BY FID desc';
                                                                                                                        dtsFStatus.Open;
                                                                                                                        //客户资料
                                                                                                                        dtsFCustID.Connection := GETRFERP;
                                                                                                                        dtsFCustID.SQL.Text := 'select a.FCustCode,a.FShortName as FCustName,a.FCustName as FCustFullName,a.FEmpCode,a.FEmpName,' + 
                                                                                                                        'a.FAddress,a.FPhone1,a.FPhone2,a.FTel,a.FContacts,a.FHouseBank,a.FHouseBnkAct,A.FDeptCode,A.FDeptName,a.FInterID as ' + 
                                                                                                                        'FCustID,a.FEmpID,a.FDeptID,A.FSettleID,A.FSettleName,A.FPayItemID,A.FPayItemName,A.FSaleType, a.FSaleType as FOrderType ' + 
                                                                                                                        'from Basic_Cust A left join Basic_employee b on a.FEmpID = b.FInterID where isnull(a.FfrozenFor,0) = 0 order by FCustCode';
                                                                                                                        dtsFCustID.Open;
                                                                                                                        
                                                                                                                        //部门
                                                                                                                        dtsFDeptID.Connection := GETRFERP;
                                                                                                                        dtsFDeptID.SQL.Text := 'SELECT FGroupID as FDeptID,FGroupCode as FDeptCode,FGroupName as FDeptName FROM Dict_GroupInfo';
                                                                                                                        dtsFDeptID.Open;
                                                                                                                        
                                                                                                                        //业务员
                                                                                                                        dtsFEmpID.Connection := GETRFERP;
                                                                                                                        dtsFEmpID.SQL.Text := 'SELECT FInterID as FEmpID,FEmpCode,FEmpName FROM Basic_Employee';
                                                                                                                        dtsFEmpID.Open;
                                                                                                                        
                                                                                                                        //币种
                                                                                                                        dtsFCurrencyID.Connection := GETRFERP;
                                                                                                                        dtsFCurrencyID.SQL.Text := 'SELECT FCode as FCurrencyCode,FName as FCurrencyName,FInterID AS FCurrencyID,FExRate AS ' + 
                                                                                                                        'FExchangeRate FROM Basic_Currency';
                                                                                                                        dtsFCurrencyID.Open;  
                                                                                                                        
                                                                                                                        //港口
                                                                                                                        dtsPort.Connection := GETRFERP;
                                                                                                                        dtsPort.SQL.Text := 'SELECT a.FName,a.FInterID FROM dbo.Basic_CommonData A INNER JOIN Basic_CommonDataType b ON ' + 
                                                                                                                        'a.FTypeID = b.FInterID WHERE b.FDataName = ''' + UGMM.LT('港口') + '''';
                                                                                                                        dtsPort.Open; 
                                                                                                                        
                                                                                                                        //物料
                                                                                                                        dtsFItemCode.Connection := GETRFERP;
                                                                                                                        dtsFItemCode.SQL.Text := 'select A.FInterID as FItemID,A.FItemCode,A.FItemName,A.FItemSpec,A.FUnitID,A.FUnitCode,A.FUnitName,' + 
                                                                                                                        'b.FCoefficient,dbo.fun_GetPY(A.FItemName) as PY '+
                                                                                                                       	'from Basic_Item A left join basic_Unit B on a.FUnitID = b.FInterID ' +
                                                                                                                      	'left join Basic_ItemGroup c on a.FGroupID = c.FInterID ' +
                                                                                                                        'where A.FTypeID=1  and isnull(FfrozenFor,0) = 0 ' +
                                                                                                                        'Order by FItemCode';
                                                                                                                        dtsFItemCode.Open;
                                                                                                                        
                                                                                                                        //公司资料
                                                                                                                        dtsCompany.Connection := GETRFERP;
                                                                                                                        dtsCompany.SQL.Text := 'select top 1 * FROM Basic_Company';
                                                                                                                        dtsCompany.Open;
                                                                                                                      
                                                                                                                        //添加打印报表
                                                                                                                        UGMM.AddReport(btnPrintMenu,//报表功能附加到哪个按钮下,名称为对应的控件名称,此处仅为示例,实际使用修改为你使用的名称,比如UgMenuButton01
                                                                                                                                       UGMM.ReportDesignPermission(Self),//报表设计权限【动态模块:当前登陆用户等于模块开发者时】
                                                                                                                                       self.Guid);
                                                                                                                      End.
                                                                                                                      
                                                                                                                      1
                                                                                                                      2
                                                                                                                      3
                                                                                                                      4
                                                                                                                      5
                                                                                                                      6
                                                                                                                      7
                                                                                                                      8
                                                                                                                      9
                                                                                                                      10
                                                                                                                      11
                                                                                                                      12
                                                                                                                      13
                                                                                                                      14
                                                                                                                      15
                                                                                                                      16
                                                                                                                      17
                                                                                                                      18
                                                                                                                      19
                                                                                                                      20
                                                                                                                      21
                                                                                                                      22
                                                                                                                      23
                                                                                                                      24
                                                                                                                      25
                                                                                                                      26
                                                                                                                      27
                                                                                                                      28
                                                                                                                      29
                                                                                                                      30
                                                                                                                      31
                                                                                                                      32
                                                                                                                      33
                                                                                                                      34
                                                                                                                      35
                                                                                                                      36
                                                                                                                      37
                                                                                                                      38
                                                                                                                      39
                                                                                                                      40
                                                                                                                      41
                                                                                                                      42
                                                                                                                      43
                                                                                                                      44
                                                                                                                      45
                                                                                                                      46
                                                                                                                      47
                                                                                                                      48
                                                                                                                      49
                                                                                                                      50
                                                                                                                      51
                                                                                                                      52
                                                                                                                      53
                                                                                                                      54
                                                                                                                      55
                                                                                                                      56
                                                                                                                      57
                                                                                                                      58
                                                                                                                      59
                                                                                                                      60
                                                                                                                      61
                                                                                                                      62
                                                                                                                      63
                                                                                                                      64
                                                                                                                      65
                                                                                                                      66
                                                                                                                      67
                                                                                                                      68
                                                                                                                      69
                                                                                                                      70
                                                                                                                      71
                                                                                                                      72
                                                                                                                      73
                                                                                                                      74
                                                                                                                      75
                                                                                                                      76
                                                                                                                      77
                                                                                                                      78
                                                                                                                      79
                                                                                                                      80
                                                                                                                      81
                                                                                                                      82
                                                                                                                      // Make sure to add code blocks to your code group
                                                                                                                      • RefState:设置按钮编辑状态的子程序。
                                                                                                                        //JScript
                                                                                                                        function RefState(aState)
                                                                                                                        //按钮及控件状态定义
                                                                                                                        {
                                                                                                                          Self.Tag = aState;
                                                                                                                          if (aState == -1)
                                                                                                                          //草稿编辑状态
                                                                                                                          {
                                                                                                                            btnFirst.Enabled = False;
                                                                                                                            btnPrior.Enabled = False;
                                                                                                                            btnNext.Enabled = False;
                                                                                                                            btnLast.Enabled = False;
                                                                                                                            btnAppend.Enabled = False;
                                                                                                                            btnPrint.Enabled = False;
                                                                                                                            btnSave.Enabled = True;
                                                                                                                            btnUploadImage.Enabled = True;
                                                                                                                            btnNewRow.Enabled = True;
                                                                                                                            btnDelRow.Enabled = True;
                                                                                                                            btnCopyRow.Enabled = True;
                                                                                                                            btnRowUp.Enabled = True;
                                                                                                                            btnRowDown.Enabled = True;
                                                                                                                            btnImportItem.Enabled = True;
                                                                                                                            
                                                                                                                            //控件控制
                                                                                                                            ds0.AutoEdit = True;
                                                                                                                            ds1.AutoEdit = True;
                                                                                                                            lkupdts0FSalType.AutoEdit = True;
                                                                                                                            lkupdts0FCustID.AutoEdit = True;
                                                                                                                            lkupdts0FDeptID.AutoEdit = True;
                                                                                                                            lkupdts0FEmpID.AutoEdit = True;
                                                                                                                            lkupdts0FOrderType.AutoEdit = True;
                                                                                                                            lkupdts0FCurrencyID.AutoEdit = True;
                                                                                                                            UgDBGrid01.ReadOnly = False;
                                                                                                                            lkupdts0FBeginPort.AutoEdit = True;
                                                                                                                            lkupdts0FEndPort.AutoEdit = True;
                                                                                                                            lkupdts0FTrafficType.AutoEdit = True;
                                                                                                                          }
                                                                                                                          if (aState == 1)
                                                                                                                          //草稿保存状态
                                                                                                                          {
                                                                                                                            btnFirst.Enabled = True;
                                                                                                                            btnPrior.Enabled = True;
                                                                                                                            btnNext.Enabled = True;
                                                                                                                            btnLast.Enabled = True;
                                                                                                                            btnAppend.Enabled = True;
                                                                                                                            btnPrint.Enabled = True;
                                                                                                                            btnSave.Enabled = False;
                                                                                                                            btnUploadImage.Enabled = True;
                                                                                                                            btnNewRow.Enabled = True;
                                                                                                                            btnDelRow.Enabled = True;
                                                                                                                            btnCopyRow.Enabled = True;
                                                                                                                            btnRowUp.Enabled = True;
                                                                                                                            btnRowDown.Enabled = True;
                                                                                                                            btnImportItem.Enabled = True;
                                                                                                                            
                                                                                                                            //控件控制
                                                                                                                            ds0.AutoEdit = True;
                                                                                                                            ds1.AutoEdit = True;
                                                                                                                            lkupdts0FSalType.AutoEdit = True;
                                                                                                                            lkupdts0FCustID.AutoEdit = True;
                                                                                                                            lkupdts0FDeptID.AutoEdit = True;
                                                                                                                            lkupdts0FEmpID.AutoEdit = True;
                                                                                                                            lkupdts0FOrderType.AutoEdit = True;
                                                                                                                            lkupdts0FCurrencyID.AutoEdit = True;
                                                                                                                            UgDBGrid01.ReadOnly = False;
                                                                                                                            lkupdts0FBeginPort.AutoEdit = True;
                                                                                                                            lkupdts0FEndPort.AutoEdit = True;
                                                                                                                            lkupdts0FTrafficType.AutoEdit = True;  
                                                                                                                          }
                                                                                                                            
                                                                                                                          if (aState == 2)
                                                                                                                          //审核状态
                                                                                                                          {
                                                                                                                            btnFirst.Enabled = True;
                                                                                                                            btnPrior.Enabled = True;
                                                                                                                            btnNext.Enabled = True;
                                                                                                                            btnLast.Enabled = True;
                                                                                                                            btnAppend.Enabled = True;
                                                                                                                            btnPrint.Enabled = True;
                                                                                                                            btnSave.Enabled = False;
                                                                                                                            btnUploadImage.Enabled = False;
                                                                                                                            btnNewRow.Enabled = False;
                                                                                                                            btnDelRow.Enabled = False;
                                                                                                                            btnCopyRow.Enabled = False;
                                                                                                                            btnRowUp.Enabled = False;
                                                                                                                            btnRowDown.Enabled = False;
                                                                                                                            btnImportItem.Enabled = False;
                                                                                                                            
                                                                                                                            //控件控制
                                                                                                                            ds0.AutoEdit = False;
                                                                                                                            ds1.AutoEdit = False;
                                                                                                                            lkupdts0FSalType.AutoEdit = False;
                                                                                                                            lkupdts0FCustID.AutoEdit = False;
                                                                                                                            lkupdts0FDeptID.AutoEdit = False;
                                                                                                                            lkupdts0FEmpID.AutoEdit = False;
                                                                                                                            lkupdts0FOrderType.AutoEdit = False;
                                                                                                                            lkupdts0FCurrencyID.AutoEdit = False;
                                                                                                                            UgDBGrid01.ReadOnly = False;
                                                                                                                            lkupdts0FBeginPort.AutoEdit = False;
                                                                                                                            lkupdts0FEndPort.AutoEdit = False;
                                                                                                                            lkupdts0FTrafficType.AutoEdit = False;
                                                                                                                          }
                                                                                                                        
                                                                                                                          if (aState == 0)
                                                                                                                          //作废状态
                                                                                                                          {
                                                                                                                            btnFirst.Enabled = True;
                                                                                                                            btnPrior.Enabled = True;
                                                                                                                            btnNext.Enabled = True;
                                                                                                                            btnLast.Enabled = True;
                                                                                                                            btnAppend.Enabled = True;
                                                                                                                            btnPrint.Enabled = False; 
                                                                                                                            btnSave.Enabled = False;
                                                                                                                            btnUploadImage.Enabled = False;
                                                                                                                            btnNewRow.Enabled = False;
                                                                                                                            btnDelRow.Enabled = False;
                                                                                                                            btnCopyRow.Enabled = False;
                                                                                                                            btnRowUp.Enabled = False;
                                                                                                                            btnRowDown.Enabled = False;
                                                                                                                            btnImportItem.Enabled = False;
                                                                                                                            
                                                                                                                            //控件控制
                                                                                                                            ds0.AutoEdit = False;
                                                                                                                            ds1.AutoEdit = False;
                                                                                                                            lkupdts0FSalType.AutoEdit = False;
                                                                                                                            lkupdts0FCustID.AutoEdit = False;
                                                                                                                            lkupdts0FDeptID.AutoEdit = False;
                                                                                                                            lkupdts0FEmpID.AutoEdit = False;
                                                                                                                            lkupdts0FOrderType.AutoEdit = False;
                                                                                                                            lkupdts0FCurrencyID.AutoEdit = False;
                                                                                                                            UgDBGrid01.ReadOnly = False;
                                                                                                                            lkupdts0FBeginPort.AutoEdit = False;
                                                                                                                            lkupdts0FEndPort.AutoEdit = False;
                                                                                                                            lkupdts0FTrafficType.AutoEdit = False;     
                                                                                                                          }
                                                                                                                        }
                                                                                                                        
                                                                                                                        1
                                                                                                                        2
                                                                                                                        3
                                                                                                                        4
                                                                                                                        5
                                                                                                                        6
                                                                                                                        7
                                                                                                                        8
                                                                                                                        9
                                                                                                                        10
                                                                                                                        11
                                                                                                                        12
                                                                                                                        13
                                                                                                                        14
                                                                                                                        15
                                                                                                                        16
                                                                                                                        17
                                                                                                                        18
                                                                                                                        19
                                                                                                                        20
                                                                                                                        21
                                                                                                                        22
                                                                                                                        23
                                                                                                                        24
                                                                                                                        25
                                                                                                                        26
                                                                                                                        27
                                                                                                                        28
                                                                                                                        29
                                                                                                                        30
                                                                                                                        31
                                                                                                                        32
                                                                                                                        33
                                                                                                                        34
                                                                                                                        35
                                                                                                                        36
                                                                                                                        37
                                                                                                                        38
                                                                                                                        39
                                                                                                                        40
                                                                                                                        41
                                                                                                                        42
                                                                                                                        43
                                                                                                                        44
                                                                                                                        45
                                                                                                                        46
                                                                                                                        47
                                                                                                                        48
                                                                                                                        49
                                                                                                                        50
                                                                                                                        51
                                                                                                                        52
                                                                                                                        53
                                                                                                                        54
                                                                                                                        55
                                                                                                                        56
                                                                                                                        57
                                                                                                                        58
                                                                                                                        59
                                                                                                                        60
                                                                                                                        61
                                                                                                                        62
                                                                                                                        63
                                                                                                                        64
                                                                                                                        65
                                                                                                                        66
                                                                                                                        67
                                                                                                                        68
                                                                                                                        69
                                                                                                                        70
                                                                                                                        71
                                                                                                                        72
                                                                                                                        73
                                                                                                                        74
                                                                                                                        75
                                                                                                                        76
                                                                                                                        77
                                                                                                                        78
                                                                                                                        79
                                                                                                                        80
                                                                                                                        81
                                                                                                                        82
                                                                                                                        83
                                                                                                                        84
                                                                                                                        85
                                                                                                                        86
                                                                                                                        87
                                                                                                                        88
                                                                                                                        89
                                                                                                                        90
                                                                                                                        91
                                                                                                                        92
                                                                                                                        93
                                                                                                                        94
                                                                                                                        95
                                                                                                                        96
                                                                                                                        97
                                                                                                                        98
                                                                                                                        99
                                                                                                                        100
                                                                                                                        101
                                                                                                                        102
                                                                                                                        103
                                                                                                                        104
                                                                                                                        105
                                                                                                                        106
                                                                                                                        107
                                                                                                                        108
                                                                                                                        109
                                                                                                                        110
                                                                                                                        111
                                                                                                                        112
                                                                                                                        113
                                                                                                                        114
                                                                                                                        115
                                                                                                                        116
                                                                                                                        117
                                                                                                                        118
                                                                                                                        119
                                                                                                                        120
                                                                                                                        121
                                                                                                                        122
                                                                                                                        123
                                                                                                                        124
                                                                                                                        125
                                                                                                                        126
                                                                                                                        127
                                                                                                                        128
                                                                                                                        129
                                                                                                                        130
                                                                                                                        131
                                                                                                                        132
                                                                                                                        133
                                                                                                                        134
                                                                                                                        135
                                                                                                                        136
                                                                                                                        //PasScript
                                                                                                                        procedure RefState(aState: Integer);
                                                                                                                        //按钮及控件状态定义
                                                                                                                        Begin
                                                                                                                          Self.Tag := aState;
                                                                                                                          if aState = -1 then
                                                                                                                          //草稿编辑状态
                                                                                                                          begin
                                                                                                                            btnFirst.Enabled := False;
                                                                                                                            btnPrior.Enabled := False;
                                                                                                                            btnNext.Enabled := False;
                                                                                                                            btnLast.Enabled := False;
                                                                                                                            btnAppend.Enabled := False;
                                                                                                                            btnPrint.Enabled := False;
                                                                                                                            btnSave.Enabled := True;
                                                                                                                            btnUploadImage.Enabled := True;
                                                                                                                            btnNewRow.Enabled := True;
                                                                                                                            btnDelRow.Enabled := True;
                                                                                                                            btnCopyRow.Enabled := True;
                                                                                                                            btnRowUp.Enabled := True;
                                                                                                                            btnRowDown.Enabled := True;
                                                                                                                            btnImportItem.Enabled := True;
                                                                                                                            
                                                                                                                            //控件控制
                                                                                                                            ds0.AutoEdit := True;
                                                                                                                            ds1.AutoEdit := True;
                                                                                                                            lkupdts0FSalType.AutoEdit := True;
                                                                                                                            lkupdts0FCustID.AutoEdit := True;
                                                                                                                            lkupdts0FDeptID.AutoEdit := True;
                                                                                                                            lkupdts0FEmpID.AutoEdit := True;
                                                                                                                            lkupdts0FOrderType.AutoEdit := True;
                                                                                                                            lkupdts0FCurrencyID.AutoEdit := True;
                                                                                                                            UgDBGrid01.ReadOnly := False;
                                                                                                                            lkupdts0FBeginPort.AutoEdit := True;
                                                                                                                            lkupdts0FEndPort.AutoEdit := True;
                                                                                                                            lkupdts0FTrafficType.AutoEdit := True;
                                                                                                                          end;
                                                                                                                          if aState = 1 Then
                                                                                                                          //草稿保存状态
                                                                                                                          begin
                                                                                                                            btnFirst.Enabled := True;
                                                                                                                            btnPrior.Enabled := True;
                                                                                                                            btnNext.Enabled := True;
                                                                                                                            btnLast.Enabled := True;
                                                                                                                            btnAppend.Enabled := True;
                                                                                                                            btnPrint.Enabled := True;
                                                                                                                            btnSave.Enabled := False;
                                                                                                                            btnUploadImage.Enabled := True;
                                                                                                                            btnNewRow.Enabled := True;
                                                                                                                            btnDelRow.Enabled := True;
                                                                                                                            btnCopyRow.Enabled := True;
                                                                                                                            btnRowUp.Enabled := True;
                                                                                                                            btnRowDown.Enabled := True;
                                                                                                                            btnImportItem.Enabled := True;
                                                                                                                            
                                                                                                                            //控件控制
                                                                                                                            ds0.AutoEdit := True;
                                                                                                                            ds1.AutoEdit := True;
                                                                                                                            lkupdts0FSalType.AutoEdit := True;
                                                                                                                            lkupdts0FCustID.AutoEdit := True;
                                                                                                                            lkupdts0FDeptID.AutoEdit := True;
                                                                                                                            lkupdts0FEmpID.AutoEdit := True;
                                                                                                                            lkupdts0FOrderType.AutoEdit := True;
                                                                                                                            lkupdts0FCurrencyID.AutoEdit := True;
                                                                                                                            UgDBGrid01.ReadOnly := False;
                                                                                                                            lkupdts0FBeginPort.AutoEdit := True;
                                                                                                                            lkupdts0FEndPort.AutoEdit := True;
                                                                                                                            lkupdts0FTrafficType.AutoEdit := True;  
                                                                                                                          end;
                                                                                                                          
                                                                                                                          if aState = 2 Then
                                                                                                                          //审核状态
                                                                                                                          begin
                                                                                                                            btnFirst.Enabled := True;
                                                                                                                            btnPrior.Enabled := True;
                                                                                                                            btnNext.Enabled := True;
                                                                                                                            btnLast.Enabled := True;
                                                                                                                            btnAppend.Enabled := True;
                                                                                                                            btnPrint.Enabled := True;
                                                                                                                            btnSave.Enabled := False;
                                                                                                                            btnUploadImage.Enabled := False;
                                                                                                                            btnNewRow.Enabled := False;
                                                                                                                            btnDelRow.Enabled := False;
                                                                                                                            btnCopyRow.Enabled := False;
                                                                                                                            btnRowUp.Enabled := False;
                                                                                                                            btnRowDown.Enabled := False;
                                                                                                                            btnImportItem.Enabled := False;
                                                                                                                            
                                                                                                                            //控件控制
                                                                                                                            ds0.AutoEdit := False;
                                                                                                                            ds1.AutoEdit := False;
                                                                                                                            lkupdts0FSalType.AutoEdit := False;
                                                                                                                            lkupdts0FCustID.AutoEdit := False;
                                                                                                                            lkupdts0FDeptID.AutoEdit := False;
                                                                                                                            lkupdts0FEmpID.AutoEdit := False;
                                                                                                                            lkupdts0FOrderType.AutoEdit := False;
                                                                                                                            lkupdts0FCurrencyID.AutoEdit := False;
                                                                                                                            UgDBGrid01.ReadOnly := False;
                                                                                                                            lkupdts0FBeginPort.AutoEdit := False;
                                                                                                                            lkupdts0FEndPort.AutoEdit := False;
                                                                                                                            lkupdts0FTrafficType.AutoEdit := False;
                                                                                                                          End;
                                                                                                                        
                                                                                                                          if aState = 0 Then
                                                                                                                          //作废状态
                                                                                                                          Begin
                                                                                                                            btnFirst.Enabled := True;
                                                                                                                            btnPrior.Enabled := True;
                                                                                                                            btnNext.Enabled := True;
                                                                                                                            btnLast.Enabled := True;
                                                                                                                            btnAppend.Enabled := True;
                                                                                                                            btnPrint.Enabled := False; 
                                                                                                                            btnSave.Enabled := False;
                                                                                                                            btnUploadImage.Enabled := False;
                                                                                                                            btnNewRow.Enabled := False;
                                                                                                                            btnDelRow.Enabled := False;
                                                                                                                            btnCopyRow.Enabled := False;
                                                                                                                            btnRowUp.Enabled := False;
                                                                                                                            btnRowDown.Enabled := False;
                                                                                                                            btnImportItem.Enabled := False;
                                                                                                                            
                                                                                                                            //控件控制
                                                                                                                            ds0.AutoEdit := False;
                                                                                                                            ds1.AutoEdit := False;
                                                                                                                            lkupdts0FSalType.AutoEdit := False;
                                                                                                                            lkupdts0FCustID.AutoEdit := False;
                                                                                                                            lkupdts0FDeptID.AutoEdit := False;
                                                                                                                            lkupdts0FEmpID.AutoEdit := False;
                                                                                                                            lkupdts0FOrderType.AutoEdit := False;
                                                                                                                            lkupdts0FCurrencyID.AutoEdit := False;
                                                                                                                            UgDBGrid01.ReadOnly := False;
                                                                                                                            lkupdts0FBeginPort.AutoEdit := False;
                                                                                                                            lkupdts0FEndPort.AutoEdit := False;
                                                                                                                            lkupdts0FTrafficType.AutoEdit := False;     
                                                                                                                          End;
                                                                                                                        End;
                                                                                                                        
                                                                                                                        1
                                                                                                                        2
                                                                                                                        3
                                                                                                                        4
                                                                                                                        5
                                                                                                                        6
                                                                                                                        7
                                                                                                                        8
                                                                                                                        9
                                                                                                                        10
                                                                                                                        11
                                                                                                                        12
                                                                                                                        13
                                                                                                                        14
                                                                                                                        15
                                                                                                                        16
                                                                                                                        17
                                                                                                                        18
                                                                                                                        19
                                                                                                                        20
                                                                                                                        21
                                                                                                                        22
                                                                                                                        23
                                                                                                                        24
                                                                                                                        25
                                                                                                                        26
                                                                                                                        27
                                                                                                                        28
                                                                                                                        29
                                                                                                                        30
                                                                                                                        31
                                                                                                                        32
                                                                                                                        33
                                                                                                                        34
                                                                                                                        35
                                                                                                                        36
                                                                                                                        37
                                                                                                                        38
                                                                                                                        39
                                                                                                                        40
                                                                                                                        41
                                                                                                                        42
                                                                                                                        43
                                                                                                                        44
                                                                                                                        45
                                                                                                                        46
                                                                                                                        47
                                                                                                                        48
                                                                                                                        49
                                                                                                                        50
                                                                                                                        51
                                                                                                                        52
                                                                                                                        53
                                                                                                                        54
                                                                                                                        55
                                                                                                                        56
                                                                                                                        57
                                                                                                                        58
                                                                                                                        59
                                                                                                                        60
                                                                                                                        61
                                                                                                                        62
                                                                                                                        63
                                                                                                                        64
                                                                                                                        65
                                                                                                                        66
                                                                                                                        67
                                                                                                                        68
                                                                                                                        69
                                                                                                                        70
                                                                                                                        71
                                                                                                                        72
                                                                                                                        73
                                                                                                                        74
                                                                                                                        75
                                                                                                                        76
                                                                                                                        77
                                                                                                                        78
                                                                                                                        79
                                                                                                                        80
                                                                                                                        81
                                                                                                                        82
                                                                                                                        83
                                                                                                                        84
                                                                                                                        85
                                                                                                                        86
                                                                                                                        87
                                                                                                                        88
                                                                                                                        89
                                                                                                                        90
                                                                                                                        91
                                                                                                                        92
                                                                                                                        93
                                                                                                                        94
                                                                                                                        95
                                                                                                                        96
                                                                                                                        97
                                                                                                                        98
                                                                                                                        99
                                                                                                                        100
                                                                                                                        101
                                                                                                                        102
                                                                                                                        103
                                                                                                                        104
                                                                                                                        105
                                                                                                                        106
                                                                                                                        107
                                                                                                                        108
                                                                                                                        109
                                                                                                                        110
                                                                                                                        111
                                                                                                                        112
                                                                                                                        113
                                                                                                                        114
                                                                                                                        115
                                                                                                                        116
                                                                                                                        117
                                                                                                                        118
                                                                                                                        119
                                                                                                                        120
                                                                                                                        121
                                                                                                                        122
                                                                                                                        123
                                                                                                                        124
                                                                                                                        125
                                                                                                                        126
                                                                                                                        127
                                                                                                                        128
                                                                                                                        129
                                                                                                                        130
                                                                                                                        131
                                                                                                                        132
                                                                                                                        133
                                                                                                                        134
                                                                                                                        135
                                                                                                                        136
                                                                                                                        // Make sure to add code blocks to your code group
                                                                                                                        • UgWebRunFrameOnAfterRunScript:UgWebRunFrame的OnAfterRunScript事件,翻译页面。
                                                                                                                          //JScript
                                                                                                                          function UgWebRunFrameOnAfterRunScript(sender)
                                                                                                                          //翻译页面
                                                                                                                          {
                                                                                                                            UGMM.LC(Self);
                                                                                                                            //数据集初始设置
                                                                                                                            dts0.Connection = GETRFERP;
                                                                                                                            dts0.SQL.Text = "select a.*,b.FCustName as FCustFullName,b.FAddress,b.FPhone1,b.FHousebank,b.FHouseBnkAct "+ 
                                                                                                                            " from Sal_Order a(NOLOCK) LEFT JOIN Basic_Cust B ON A.FCustID = B.FInterID where a.FInterID = :FInterID";
                                                                                                                            
                                                                                                                            dts1.Connection = GETRFERP;
                                                                                                                            dts1.SQL.Text = "select a.*,b.FBillNo as FTechnicsNo from Sal_OrderEntry a(NOLOCK) left join Tex_Technics " + 
                                                                                                                            " B on a.FTechnicsID = b.FInterID where a.FInterID =:FInterID order by a.FEntryID";
                                                                                                                            //单据列表(从主窗口中获取)
                                                                                                                            dtsList.Connection = GETRFERP;
                                                                                                                            dtsList.SQL.Text = "select FInterID FROM Sal_Order where 1=1";
                                                                                                                            dtsList.Open;
                                                                                                                            
                                                                                                                            //销售类型
                                                                                                                            dtsFSaleType.Connection = GETRFERP;
                                                                                                                            dtsFSaleType.SQL.Text = "SELECT a.FName,a.FInterID FROM dbo.Basic_CommonData A INNER JOIN Basic_CommonDataType "+ 
                                                                                                                            " b ON a.FTypeID = b.FInterID WHERE b.FDataName = '" + UGMM.LT("销售类型") + "'";
                                                                                                                            dtsFSaleType.Open;
                                                                                                                            //状态
                                                                                                                            dtsFStatus.Connection = GETRFERP;
                                                                                                                            dtsFStatus.SQL.Text = "Select FName= '" + UGMM.LT("已作废") + "',FID = 0 union Select FName= '" + UGMM.LT("草 稿") + 
                                                                                                                            "',FID = 1 union  Select FName='" + UGMM.LT("已审核") + "',FID = 2 ORDER  BY FID desc";
                                                                                                                            dtsFStatus.Open;
                                                                                                                            //客户资料
                                                                                                                            dtsFCustID.Connection = GETRFERP;
                                                                                                                            dtsFCustID.SQL.Text = "select a.FCustCode,a.FShortName as FCustName,a.FCustName as FCustFullName,a.FEmpCode,a.FEmpName," + 
                                                                                                                            "a.FAddress,a.FPhone1,a.FPhone2,a.FTel,a.FContacts,a.FHouseBank,a.FHouseBnkAct,A.FDeptCode,A.FDeptName,a.FInterID as " + 
                                                                                                                            "FCustID,a.FEmpID,a.FDeptID,A.FSettleID,A.FSettleName,A.FPayItemID,A.FPayItemName,A.FSaleType, a.FSaleType as FOrderType " + 
                                                                                                                            "from Basic_Cust A left join Basic_employee b on a.FEmpID = b.FInterID where isnull(a.FfrozenFor,0) = 0 order by FCustCode";
                                                                                                                            dtsFCustID.Open;
                                                                                                                            
                                                                                                                            //部门
                                                                                                                            dtsFDeptID.Connection = GETRFERP;
                                                                                                                            dtsFDeptID.SQL.Text = "SELECT FGroupID as FDeptID,FGroupCode as FDeptCode,FGroupName as FDeptName FROM Dict_GroupInfo";
                                                                                                                            dtsFDeptID.Open;
                                                                                                                            
                                                                                                                            //业务员
                                                                                                                            dtsFEmpID.Connection = GETRFERP;
                                                                                                                            dtsFEmpID.SQL.Text = "SELECT FInterID as FEmpID,FEmpCode,FEmpName FROM Basic_Employee";
                                                                                                                            dtsFEmpID.Open;
                                                                                                                            
                                                                                                                            //币种
                                                                                                                            dtsFCurrencyID.Connection = GETRFERP;
                                                                                                                            dtsFCurrencyID.SQL.Text = "SELECT FCode as FCurrencyCode,FName as FCurrencyName,FInterID AS FCurrencyID,FExRate AS " + 
                                                                                                                            "FExchangeRate FROM Basic_Currency";
                                                                                                                            dtsFCurrencyID.Open;  
                                                                                                                            
                                                                                                                            //港口
                                                                                                                            dtsPort.Connection = GETRFERP;
                                                                                                                            dtsPort.SQL.Text = "SELECT a.FName,a.FInterID FROM dbo.Basic_CommonData A INNER JOIN Basic_CommonDataType b ON " + 
                                                                                                                            "a.FTypeID = b.FInterID WHERE b.FDataName = '" + UGMM.LT("港口") + "'";
                                                                                                                            dtsPort.Open; 
                                                                                                                            
                                                                                                                            //物料
                                                                                                                            dtsFItemCode.Connection = GETRFERP;
                                                                                                                            dtsFItemCode.SQL.Text = "select A.FInterID as FItemID,A.FItemCode,A.FItemName,A.FItemSpec,A.FUnitID,A.FUnitCode,A.FUnitName," + 
                                                                                                                            "b.FCoefficient,dbo.fun_GetPY(A.FItemName) as PY "+
                                                                                                                           	"from Basic_Item A left join basic_Unit B on a.FUnitID = b.FInterID " +
                                                                                                                          	"left join Basic_ItemGroup c on a.FGroupID = c.FInterID " +
                                                                                                                            "where A.FTypeID=1  and isnull(FfrozenFor,0) = 0 " +
                                                                                                                            "Order by FItemCode";
                                                                                                                            dtsFItemCode.Open;
                                                                                                                            
                                                                                                                            //公司资料
                                                                                                                            dtsCompany.Connection = GETRFERP;
                                                                                                                            dtsCompany.SQL.Text = "select top 1 * FROM Basic_Company";
                                                                                                                            dtsCompany.Open;
                                                                                                                          
                                                                                                                            //添加打印报表
                                                                                                                            UGMM.AddReport(btnPrintMenu,//报表功能附加到哪个按钮下,名称为对应的控件名称,此处仅为示例,实际使用修改为你使用的名称,比如UgMenuButton01
                                                                                                                                           UGMM.ReportDesignPermission(Self),//报表设计权限【动态模块:当前登陆用户等于模块开发者时】
                                                                                                                                           self.Guid);
                                                                                                                          }
                                                                                                                          
                                                                                                                          1
                                                                                                                          2
                                                                                                                          3
                                                                                                                          4
                                                                                                                          5
                                                                                                                          6
                                                                                                                          7
                                                                                                                          8
                                                                                                                          9
                                                                                                                          10
                                                                                                                          11
                                                                                                                          12
                                                                                                                          13
                                                                                                                          14
                                                                                                                          15
                                                                                                                          16
                                                                                                                          17
                                                                                                                          18
                                                                                                                          19
                                                                                                                          20
                                                                                                                          21
                                                                                                                          22
                                                                                                                          23
                                                                                                                          24
                                                                                                                          25
                                                                                                                          26
                                                                                                                          27
                                                                                                                          28
                                                                                                                          29
                                                                                                                          30
                                                                                                                          31
                                                                                                                          32
                                                                                                                          33
                                                                                                                          34
                                                                                                                          35
                                                                                                                          36
                                                                                                                          37
                                                                                                                          38
                                                                                                                          39
                                                                                                                          40
                                                                                                                          41
                                                                                                                          42
                                                                                                                          43
                                                                                                                          44
                                                                                                                          45
                                                                                                                          46
                                                                                                                          47
                                                                                                                          48
                                                                                                                          49
                                                                                                                          50
                                                                                                                          51
                                                                                                                          52
                                                                                                                          53
                                                                                                                          54
                                                                                                                          55
                                                                                                                          56
                                                                                                                          57
                                                                                                                          58
                                                                                                                          59
                                                                                                                          60
                                                                                                                          61
                                                                                                                          62
                                                                                                                          63
                                                                                                                          64
                                                                                                                          65
                                                                                                                          66
                                                                                                                          67
                                                                                                                          68
                                                                                                                          69
                                                                                                                          70
                                                                                                                          71
                                                                                                                          72
                                                                                                                          73
                                                                                                                          74
                                                                                                                          75
                                                                                                                          76
                                                                                                                          77
                                                                                                                          78
                                                                                                                          //PasScript
                                                                                                                          procedure UgWebRunFrameOnAfterRunScript(const sender: tobject);
                                                                                                                          //翻译页面
                                                                                                                          begin
                                                                                                                            UGMM.LC(Self);
                                                                                                                          end;
                                                                                                                          
                                                                                                                          1
                                                                                                                          2
                                                                                                                          3
                                                                                                                          4
                                                                                                                          5
                                                                                                                          6
                                                                                                                          // Make sure to add code blocks to your code group
                                                                                                                          • btnCloseOnClick:btnClose的OnClick事件,当关闭窗口时检查是否处于编辑状态,并弹窗提示。
                                                                                                                            //JScript
                                                                                                                            function btnCloseOnClick(sender)
                                                                                                                            //关闭窗口时检查,是否处于编辑状态,并弹窗提示
                                                                                                                            {
                                                                                                                              var p = Self.Parent;
                                                                                                                              if (p is TUgWebForm)
                                                                                                                              {
                                                                                                                                if (Self.tag == -1)
                                                                                                                                {
                                                                                                                                    UgSweetAlertClose.CancelButtonText = UGMM.LT("取消");
                                                                                                                                    UgSweetAlertClose.ConfirmButtonText = UGMM.LT("确定");
                                                                                                                                    UgSweetAlertClose.Title = UGMM.LT("提示");
                                                                                                                                    UgSweetAlertClose.Text = UGMM.LT("窗体处于编辑状态,是否放弃保存并关闭窗体?");
                                                                                                                                    UgSweetAlertClose.Show;
                                                                                                                                }
                                                                                                                                Else{
                                                                                                                                  TUgWebForm(p).Close;
                                                                                                                                }
                                                                                                                              }
                                                                                                                              if (p is TUniTabSheet)
                                                                                                                                UniSession.AddJS("document.getElementById(\"" + TUniTabSheet(p).jsid + "_tab-closeEl\").click();");
                                                                                                                            }
                                                                                                                            
                                                                                                                            1
                                                                                                                            2
                                                                                                                            3
                                                                                                                            4
                                                                                                                            5
                                                                                                                            6
                                                                                                                            7
                                                                                                                            8
                                                                                                                            9
                                                                                                                            10
                                                                                                                            11
                                                                                                                            12
                                                                                                                            13
                                                                                                                            14
                                                                                                                            15
                                                                                                                            16
                                                                                                                            17
                                                                                                                            18
                                                                                                                            19
                                                                                                                            20
                                                                                                                            21
                                                                                                                            22
                                                                                                                            //PasScript
                                                                                                                            procedure btnCloseOnClick(sender: tobject);
                                                                                                                            //关闭窗口时检查,是否处于编辑状态,并弹窗提示
                                                                                                                            Var
                                                                                                                              p:TComponent;
                                                                                                                            Begin
                                                                                                                              p:=Self.Parent;
                                                                                                                              if p is TUgWebForm then
                                                                                                                              Begin
                                                                                                                                if (Self.tag = -1) then
                                                                                                                                begin 
                                                                                                                                    UgSweetAlertClose.CancelButtonText := UGMM.LT('取消');
                                                                                                                                    UgSweetAlertClose.ConfirmButtonText := UGMM.LT('确定');
                                                                                                                                    UgSweetAlertClose.Title := UGMM.LT('提示');
                                                                                                                                    UgSweetAlertClose.Text := UGMM.LT('窗体处于编辑状态,是否放弃保存并关闭窗体?');
                                                                                                                                    UgSweetAlertClose.Show;
                                                                                                                                end
                                                                                                                                Else
                                                                                                                                  TUgWebForm(p).Close;
                                                                                                                              End;
                                                                                                                              if p is TUniTabSheet then
                                                                                                                                UniSession.AddJS('document.getElementById("' + TUniTabSheet(p).jsid + '_tab-closeEl").click();');
                                                                                                                            End;
                                                                                                                            
                                                                                                                            1
                                                                                                                            2
                                                                                                                            3
                                                                                                                            4
                                                                                                                            5
                                                                                                                            6
                                                                                                                            7
                                                                                                                            8
                                                                                                                            9
                                                                                                                            10
                                                                                                                            11
                                                                                                                            12
                                                                                                                            13
                                                                                                                            14
                                                                                                                            15
                                                                                                                            16
                                                                                                                            17
                                                                                                                            18
                                                                                                                            19
                                                                                                                            20
                                                                                                                            21
                                                                                                                            22
                                                                                                                            23
                                                                                                                            // Make sure to add code blocks to your code group
                                                                                                                            • lkupdts1FItemCodeOnChange:lkupdts1FItemCode的OnChange事件,更新物料代码选择时对应更新显示的内容。
                                                                                                                              //JScript
                                                                                                                              function lkupdts1FItemCodeOnChange(sender)
                                                                                                                              //更新物料代码选择时对应更新显示的内容
                                                                                                                              {
                                                                                                                                dts1.Edit;
                                                                                                                                dts1.FieldByName("FItemID").AsString = dtsFItemCode.FieldByName("FItemID").AsString;
                                                                                                                                dts1.FieldByName("FItemCode").AsString = dtsFItemCode.FieldByName("FItemCode").AsString;  
                                                                                                                                dts1.FieldByName("FItemName").AsString = dtsFItemCode.FieldByName("FItemName").AsString; 
                                                                                                                                dts1.FieldByName("FItemSpec").AsString = dtsFItemCode.FieldByName("FItemSpec").AsString; 
                                                                                                                                dts1.FieldByName("FUnitID").AsString = dtsFItemCode.FieldByName("FUnitID").AsString; 
                                                                                                                                dts1.FieldByName("FUnitCode").AsString = dtsFItemCode.FieldByName("FUnitCode").AsString; 
                                                                                                                                dts1.FieldByName("FUnitName").AsString = dtsFItemCode.FieldByName("FUnitName").AsString; 
                                                                                                                              }
                                                                                                                              
                                                                                                                              1
                                                                                                                              2
                                                                                                                              3
                                                                                                                              4
                                                                                                                              5
                                                                                                                              6
                                                                                                                              7
                                                                                                                              8
                                                                                                                              9
                                                                                                                              10
                                                                                                                              11
                                                                                                                              12
                                                                                                                              13
                                                                                                                              //PasScript
                                                                                                                              procedure lkupdts1FItemCodeOnChange(sender: tobject);
                                                                                                                              //更新物料代码选择时对应更新显示的内容
                                                                                                                              begin
                                                                                                                                dts1.Edit;
                                                                                                                                dts1.FieldByName('FItemID').AsString := dtsFItemCode.FieldByName('FItemID').AsString;
                                                                                                                                dts1.FieldByName('FItemCode').AsString := dtsFItemCode.FieldByName('FItemCode').AsString;  
                                                                                                                                dts1.FieldByName('FItemName').AsString := dtsFItemCode.FieldByName('FItemName').AsString; 
                                                                                                                                dts1.FieldByName('FItemSpec').AsString := dtsFItemCode.FieldByName('FItemSpec').AsString; 
                                                                                                                                dts1.FieldByName('FUnitID').AsString := dtsFItemCode.FieldByName('FUnitID').AsString; 
                                                                                                                                dts1.FieldByName('FUnitCode').AsString := dtsFItemCode.FieldByName('FUnitCode').AsString; 
                                                                                                                                dts1.FieldByName('FUnitName').AsString := dtsFItemCode.FieldByName('FUnitName').AsString; 
                                                                                                                              end;
                                                                                                                              
                                                                                                                              1
                                                                                                                              2
                                                                                                                              3
                                                                                                                              4
                                                                                                                              5
                                                                                                                              6
                                                                                                                              7
                                                                                                                              8
                                                                                                                              9
                                                                                                                              10
                                                                                                                              11
                                                                                                                              12
                                                                                                                              13
                                                                                                                              // Make sure to add code blocks to your code group
                                                                                                                              • PageSwitch:页面切换时显示的内容,配合首页,末页等使用。
                                                                                                                                //JScript
                                                                                                                                function PageSwitch()
                                                                                                                                //页面切换时显示的内容,配合首页,末页等使用
                                                                                                                                {
                                                                                                                                  dts0.Close;
                                                                                                                                  dts0.ParamByName("FInterID").AsString = dtsList.FieldByName("FInterID").AsString;
                                                                                                                                  dts0.Open;
                                                                                                                                  dts1.Close;
                                                                                                                                  dts1.ParamByName("FInterID").AsString = dtsList.FieldByName("FInterID").AsString;
                                                                                                                                  dts1.Open;
                                                                                                                                  RefState(dts0.FieldByName("FStatus").AsInteger);
                                                                                                                                }
                                                                                                                                
                                                                                                                                1
                                                                                                                                2
                                                                                                                                3
                                                                                                                                4
                                                                                                                                5
                                                                                                                                6
                                                                                                                                7
                                                                                                                                8
                                                                                                                                9
                                                                                                                                10
                                                                                                                                11
                                                                                                                                12
                                                                                                                                //PasScript
                                                                                                                                Procedure PageSwitch;
                                                                                                                                //页面切换时显示的内容,配合首页,末页等使用
                                                                                                                                Begin
                                                                                                                                  dts0.Close;
                                                                                                                                  dts0.ParamByName('FInterID').AsString := dtsList.FieldByName('FInterID').AsString;
                                                                                                                                  dts0.Open;
                                                                                                                                  dts1.Close;
                                                                                                                                  dts1.ParamByName('FInterID').AsString := dtsList.FieldByName('FInterID').AsString;
                                                                                                                                  dts1.Open;
                                                                                                                                  RefState(dts0.FieldByName('FStatus').AsInteger);
                                                                                                                                End;
                                                                                                                                
                                                                                                                                1
                                                                                                                                2
                                                                                                                                3
                                                                                                                                4
                                                                                                                                5
                                                                                                                                6
                                                                                                                                7
                                                                                                                                8
                                                                                                                                9
                                                                                                                                10
                                                                                                                                11
                                                                                                                                12
                                                                                                                                // Make sure to add code blocks to your code group
                                                                                                                                • btnFirstOnClick:btnFirst的OnClick事件,定位至首项。
                                                                                                                                  //JScript
                                                                                                                                  function btnFirstOnClick(sender)
                                                                                                                                  //首项
                                                                                                                                  {
                                                                                                                                    dtsList.First;
                                                                                                                                    PageSwitch;
                                                                                                                                  }
                                                                                                                                  
                                                                                                                                  1
                                                                                                                                  2
                                                                                                                                  3
                                                                                                                                  4
                                                                                                                                  5
                                                                                                                                  6
                                                                                                                                  7
                                                                                                                                  //PasScript
                                                                                                                                  procedure btnFirstOnClick(sender: tobject);
                                                                                                                                  //首项
                                                                                                                                  begin
                                                                                                                                    dtsList.First;
                                                                                                                                    PageSwitch;
                                                                                                                                  end;
                                                                                                                                  
                                                                                                                                  1
                                                                                                                                  2
                                                                                                                                  3
                                                                                                                                  4
                                                                                                                                  5
                                                                                                                                  6
                                                                                                                                  7
                                                                                                                                  // Make sure to add code blocks to your code group
                                                                                                                                  • btnPriorOnClick:btnPrior的OnClick事件,定位至前项。
                                                                                                                                    //JScript
                                                                                                                                    function btnPriorOnClick(sender)
                                                                                                                                    //前项
                                                                                                                                    {
                                                                                                                                      dtsList.Prior;
                                                                                                                                      PageSwitch;
                                                                                                                                    }
                                                                                                                                    
                                                                                                                                    1
                                                                                                                                    2
                                                                                                                                    3
                                                                                                                                    4
                                                                                                                                    5
                                                                                                                                    6
                                                                                                                                    7
                                                                                                                                    //PasScript
                                                                                                                                    procedure btnPriorOnClick(sender: tobject);
                                                                                                                                    //前项
                                                                                                                                    begin
                                                                                                                                      dtsList.Prior;
                                                                                                                                      PageSwitch;
                                                                                                                                    end;
                                                                                                                                    
                                                                                                                                    1
                                                                                                                                    2
                                                                                                                                    3
                                                                                                                                    4
                                                                                                                                    5
                                                                                                                                    6
                                                                                                                                    7
                                                                                                                                    // Make sure to add code blocks to your code group
                                                                                                                                    • btnNextOnClick:btnNext的OnClick事件,定位至后项。
                                                                                                                                      //JScript
                                                                                                                                      function btnNextOnClick(sender)
                                                                                                                                      //后项
                                                                                                                                      {
                                                                                                                                        dtsList.Next;
                                                                                                                                        PageSwitch;
                                                                                                                                      }
                                                                                                                                      
                                                                                                                                      1
                                                                                                                                      2
                                                                                                                                      3
                                                                                                                                      4
                                                                                                                                      5
                                                                                                                                      6
                                                                                                                                      7
                                                                                                                                      //PasScript
                                                                                                                                      procedure btnNextOnClick(sender: tobject);
                                                                                                                                      //后项
                                                                                                                                      begin
                                                                                                                                        dtsList.Next;
                                                                                                                                        PageSwitch;
                                                                                                                                      end;
                                                                                                                                      
                                                                                                                                      1
                                                                                                                                      2
                                                                                                                                      3
                                                                                                                                      4
                                                                                                                                      5
                                                                                                                                      6
                                                                                                                                      7
                                                                                                                                      // Make sure to add code blocks to your code group
                                                                                                                                      • btnLastOnClick:btnLast的OnClick事件,定位至末项。
                                                                                                                                        //JScript
                                                                                                                                        function btnLastOnClick(sender)
                                                                                                                                        //末项
                                                                                                                                        {
                                                                                                                                          dtsList.Last;
                                                                                                                                          PageSwitch;
                                                                                                                                        }
                                                                                                                                        
                                                                                                                                        1
                                                                                                                                        2
                                                                                                                                        3
                                                                                                                                        4
                                                                                                                                        5
                                                                                                                                        6
                                                                                                                                        7
                                                                                                                                        //PasScript
                                                                                                                                        procedure btnLastOnClick(sender: tobject);
                                                                                                                                        //末项
                                                                                                                                        begin
                                                                                                                                          dtsList.Last;
                                                                                                                                          PageSwitch;
                                                                                                                                        end;
                                                                                                                                        
                                                                                                                                        1
                                                                                                                                        2
                                                                                                                                        3
                                                                                                                                        4
                                                                                                                                        5
                                                                                                                                        6
                                                                                                                                        7
                                                                                                                                        // Make sure to add code blocks to your code group
                                                                                                                                        • btnAppendOnClick:btnAppend的OnClick事件,点击以打开窗口新建单据。
                                                                                                                                          //JScript
                                                                                                                                          function btnAppendOnClick(sender)
                                                                                                                                          //新建单据
                                                                                                                                          {
                                                                                                                                            var FInterID;
                                                                                                                                            //预留区,如果单据处于编辑状态,新建按钮会变成灰色
                                                                                                                                            FInterID = GetNodeID;
                                                                                                                                            dts0.Close;
                                                                                                                                            dts0.ParamByName("FInterID").AsInteger = FInterID;
                                                                                                                                            dts0.Open;
                                                                                                                                            dts0.Append;
                                                                                                                                            //生成单据号及相关信息
                                                                                                                                            dts0.FieldByName("FInterID").AsInteger = FInterID;
                                                                                                                                            dts0.FieldByName("FBillID").AsInteger = FBillID;
                                                                                                                                            dts0.FieldByName("FBillNo").AsString = GetBillNo(IntToStr(FBillID),now,True);
                                                                                                                                            dts0.FieldByName("FDate").AsDateTime = Date;
                                                                                                                                            dts0.FieldByName("FSignDate").AsDateTime = Date;
                                                                                                                                            dts0.FieldByName("FContractNo").AsString = dts0.FieldByName("FBillNo").AsString;
                                                                                                                                            dts0.FieldByName("FExchangeRate").AsInteger = 1;
                                                                                                                                            dts0.FieldByName("FStatus").AsInteger = 1;
                                                                                                                                            dts0.FieldByName("FClosed").AsInteger = 0;
                                                                                                                                            dts0.FieldByName("FBiller").AsString = UGMM.Informations.Values["UserFullName"];
                                                                                                                                            dts0.FieldByName("FCreateDate").AsDateTime = now; 
                                                                                                                                            //明细单据更新
                                                                                                                                            dts1.Close;
                                                                                                                                            dts1.ParamByName("FInterID").AsString = dts0.FieldByName("FInterID").AsString;
                                                                                                                                            dts1.Open;
                                                                                                                                            //状态刷新
                                                                                                                                            RefState(-1);
                                                                                                                                          }
                                                                                                                                          
                                                                                                                                          1
                                                                                                                                          2
                                                                                                                                          3
                                                                                                                                          4
                                                                                                                                          5
                                                                                                                                          6
                                                                                                                                          7
                                                                                                                                          8
                                                                                                                                          9
                                                                                                                                          10
                                                                                                                                          11
                                                                                                                                          12
                                                                                                                                          13
                                                                                                                                          14
                                                                                                                                          15
                                                                                                                                          16
                                                                                                                                          17
                                                                                                                                          18
                                                                                                                                          19
                                                                                                                                          20
                                                                                                                                          21
                                                                                                                                          22
                                                                                                                                          23
                                                                                                                                          24
                                                                                                                                          25
                                                                                                                                          26
                                                                                                                                          27
                                                                                                                                          28
                                                                                                                                          29
                                                                                                                                          30
                                                                                                                                          //PasScript
                                                                                                                                          procedure btnAppendOnClick(sender: tobject);
                                                                                                                                          //新建单据
                                                                                                                                          Var
                                                                                                                                            FInterID: Integer;
                                                                                                                                          begin
                                                                                                                                            //预留区,如果单据处于编辑状态,新建按钮会变成灰色
                                                                                                                                            FInterID := GetNodeID;
                                                                                                                                            dts0.Close;
                                                                                                                                            dts0.ParamByName('FInterID').AsInteger := FInterID;
                                                                                                                                            dts0.Open;
                                                                                                                                            dts0.Append;
                                                                                                                                            //生成单据号及相关信息
                                                                                                                                            dts0.FieldByName('FInterID').AsInteger := FInterID;
                                                                                                                                            dts0.FieldByName('FBillID').AsInteger := FBillID;
                                                                                                                                            dts0.FieldByName('FBillNo').AsString := GetBillNo(IntToStr(FBillID),now,True);
                                                                                                                                            dts0.FieldByName('FDate').AsDateTime := Date;
                                                                                                                                            dts0.FieldByName('FSignDate').AsDateTime := Date;
                                                                                                                                            dts0.FieldByName('FContractNo').AsString := dts0.FieldByName('FBillNo').AsString;
                                                                                                                                            dts0.FieldByName('FExchangeRate').AsInteger := 1;
                                                                                                                                            dts0.FieldByName('FStatus').AsInteger := 1;
                                                                                                                                            dts0.FieldByName('FClosed').AsInteger := 0;
                                                                                                                                            dts0.FieldByName('FBiller').AsString := UGMM.Informations.Values['UserFullName'];
                                                                                                                                            dts0.FieldByName('FCreateDate').AsDateTime := now; 
                                                                                                                                            //明细单据更新
                                                                                                                                            dts1.Close;
                                                                                                                                            dts1.ParamByName('FInterID').AsString := dts0.FieldByName('FInterID').AsString;
                                                                                                                                            dts1.Open;
                                                                                                                                            //状态刷新
                                                                                                                                            RefState(-1);
                                                                                                                                          end;
                                                                                                                                          
                                                                                                                                          1
                                                                                                                                          2
                                                                                                                                          3
                                                                                                                                          4
                                                                                                                                          5
                                                                                                                                          6
                                                                                                                                          7
                                                                                                                                          8
                                                                                                                                          9
                                                                                                                                          10
                                                                                                                                          11
                                                                                                                                          12
                                                                                                                                          13
                                                                                                                                          14
                                                                                                                                          15
                                                                                                                                          16
                                                                                                                                          17
                                                                                                                                          18
                                                                                                                                          19
                                                                                                                                          20
                                                                                                                                          21
                                                                                                                                          22
                                                                                                                                          23
                                                                                                                                          24
                                                                                                                                          25
                                                                                                                                          26
                                                                                                                                          27
                                                                                                                                          28
                                                                                                                                          29
                                                                                                                                          30
                                                                                                                                          31
                                                                                                                                          // Make sure to add code blocks to your code group
                                                                                                                                          • btnSaveOnClick:btnSave的OnClick事件,点击以保存单据。
                                                                                                                                            //JScript
                                                                                                                                            function btnSaveOnClick(sender)
                                                                                                                                            //保存
                                                                                                                                            {
                                                                                                                                                var vdts,vSQL;
                                                                                                                                               	//检查是否为空
                                                                                                                                                dts1.Edit;
                                                                                                                                                dts1.Post;
                                                                                                                                                if (dts1.RecordCount == 0)
                                                                                                                                                {
                                                                                                                                                  ShowSweetAlert(atError,UGMM.LT("提示"),UGMM.LT("明细数据不能为空!"));
                                                                                                                                                  return;
                                                                                                                                                  //Exit;
                                                                                                                                                }
                                                                                                                                                //客户资料,部门资料更新
                                                                                                                                                if ((Trim(dts0.FieldByName("FCustID").AsString) == "")
                                                                                                                                                || (Trim(dts0.FieldByName("FDeptID").AsString) == "")){
                                                                                                                                                	ShowSweetAlert(atError,UGMM.LT("提示"),UGMM.LT("客户名称不能为空!"));
                                                                                                                                                  return;
                                                                                                                                                	//exit;
                                                                                                                                                }
                                                                                                                                                dts1.First;
                                                                                                                                                While (!(dts1.Eof))
                                                                                                                                                //物料信息检查是否为空
                                                                                                                                                {
                                                                                                                                                  if ((Trim(dts1.FieldByName("FItemID").AsString)=="")
                                                                                                                                                  || (Trim(dts1.FieldByName("FAmount").AsString)=="")){
                                                                                                                                                    ShowSweetAlert(atError,UGMM.LT("提示"),UGMM.LT("物料信息不能为空!"));
                                                                                                                                                    return;
                                                                                                                                                    //Exit;
                                                                                                                                                  }
                                                                                                                                                  dts1.Next;
                                                                                                                                                }
                                                                                                                                                
                                                                                                                                                //保存
                                                                                                                                                vdts = new TUgRFDataSet(Nil);
                                                                                                                                                try{
                                                                                                                                                  //新增单据更新单据编号
                                                                                                                                                  vdts.Connection = GETRFERP;
                                                                                                                                                  vdts.SQL.Text = "SELECT FInterID FROM Sal_Order WHERE FInterID =" + dts0.FieldByName("FInterID").AsString;
                                                                                                                                                  vdts.Open;
                                                                                                                                                  if (vdts.RecordCount == 0)
                                                                                                                                                    dts0.FieldByName("FBillNo").AsString = GetBillNo(IntToStr(FBillID),now,False);
                                                                                                                                            
                                                                                                                                                  DataSetSort(dts1,"FEntryID"); 
                                                                                                                                                 //明细内容更新
                                                                                                                                                  if (dts1.RecordCount > 0)
                                                                                                                                                  {
                                                                                                                                                    dts1.Edit;
                                                                                                                                                    dts1.Post;
                                                                                                                                                	  dts1.ApplyUpdates(-1);
                                                                                                                                                  }
                                                                                                                                                  //主表更新保存
                                                                                                                                                  dts0.Edit;
                                                                                                                                                  dts0.FieldByName("FStatus").AsInteger = 1;
                                                                                                                                                  dts0.Post;
                                                                                                                                                  dts0.ApplyUpdates(-1);
                                                                                                                                                  ShowSweetAlert(atSuccess,UGMM.LT("提示"),UGMM.LT("数据保存成功!"));
                                                                                                                                                  RefState(1);
                                                                                                                                                }
                                                                                                                                                Finally{
                                                                                                                                                  vdts.Free;
                                                                                                                                                }
                                                                                                                                            }
                                                                                                                                            
                                                                                                                                            1
                                                                                                                                            2
                                                                                                                                            3
                                                                                                                                            4
                                                                                                                                            5
                                                                                                                                            6
                                                                                                                                            7
                                                                                                                                            8
                                                                                                                                            9
                                                                                                                                            10
                                                                                                                                            11
                                                                                                                                            12
                                                                                                                                            13
                                                                                                                                            14
                                                                                                                                            15
                                                                                                                                            16
                                                                                                                                            17
                                                                                                                                            18
                                                                                                                                            19
                                                                                                                                            20
                                                                                                                                            21
                                                                                                                                            22
                                                                                                                                            23
                                                                                                                                            24
                                                                                                                                            25
                                                                                                                                            26
                                                                                                                                            27
                                                                                                                                            28
                                                                                                                                            29
                                                                                                                                            30
                                                                                                                                            31
                                                                                                                                            32
                                                                                                                                            33
                                                                                                                                            34
                                                                                                                                            35
                                                                                                                                            36
                                                                                                                                            37
                                                                                                                                            38
                                                                                                                                            39
                                                                                                                                            40
                                                                                                                                            41
                                                                                                                                            42
                                                                                                                                            43
                                                                                                                                            44
                                                                                                                                            45
                                                                                                                                            46
                                                                                                                                            47
                                                                                                                                            48
                                                                                                                                            49
                                                                                                                                            50
                                                                                                                                            51
                                                                                                                                            52
                                                                                                                                            53
                                                                                                                                            54
                                                                                                                                            55
                                                                                                                                            56
                                                                                                                                            57
                                                                                                                                            58
                                                                                                                                            59
                                                                                                                                            60
                                                                                                                                            61
                                                                                                                                            62
                                                                                                                                            63
                                                                                                                                            64
                                                                                                                                            //PasScript
                                                                                                                                            procedure btnSaveOnClick(sender: tobject);
                                                                                                                                            //保存
                                                                                                                                            Var
                                                                                                                                              vdts: TUgRFDataSet;
                                                                                                                                              vSQL: String;
                                                                                                                                            Begin
                                                                                                                                               	//检查是否为空
                                                                                                                                                dts1.Edit;
                                                                                                                                                dts1.Post;
                                                                                                                                                if dts1.RecordCount = 0 Then
                                                                                                                                                Begin 
                                                                                                                                                  ShowSweetAlert(atError,UGMM.LT('提示'),UGMM.LT('明细数据不能为空!'));
                                                                                                                                                  Exit;
                                                                                                                                                End;
                                                                                                                                                //客户资料,部门资料更新
                                                                                                                                                if (Trim(dts0.FieldByName('FCustID').AsString) = '')
                                                                                                                                                or (Trim(dts0.FieldByName('FDeptID').AsString) = '')
                                                                                                                                              	Then
                                                                                                                                              	Begin
                                                                                                                                                	ShowSweetAlert(atError,UGMM.LT('提示'),UGMM.LT('客户名称不能为空!'));
                                                                                                                                                	exit;
                                                                                                                                              	end;
                                                                                                                                                dts1.First;
                                                                                                                                                While not dts1.Eof Do
                                                                                                                                                //物料信息检查是否为空
                                                                                                                                                Begin
                                                                                                                                                  if (Trim(dts1.FieldByName('FItemID').AsString)='')
                                                                                                                                                  or (Trim(dts1.FieldByName('FAmount').AsString)='')
                                                                                                                                                  Then
                                                                                                                                                  Begin
                                                                                                                                                    ShowSweetAlert(atError,UGMM.LT('提示'),UGMM.LT('物料信息不能为空!'));
                                                                                                                                                    Exit;
                                                                                                                                                  End;
                                                                                                                                                  dts1.Next;
                                                                                                                                                End;
                                                                                                                                                
                                                                                                                                                //保存
                                                                                                                                                vdts :=TUgRFDataSet.Create(Nil);
                                                                                                                                                try
                                                                                                                                                  //新增单据更新单据编号
                                                                                                                                                  vdts.Connection := GETRFERP;
                                                                                                                                                  vdts.SQL.Text := 'SELECT FInterID FROM Sal_Order WHERE FInterID =' + dts0.FieldByName('FInterID').AsString;
                                                                                                                                                  vdts.Open;
                                                                                                                                                  if vdts.RecordCount = 0 Then
                                                                                                                                                    dts0.FieldByName('FBillNo').AsString := GetBillNo(IntToStr(FBillID),now,False);
                                                                                                                                            
                                                                                                                                                  DataSetSort(dts1,'FEntryID'); 
                                                                                                                                                 //明细内容更新
                                                                                                                                                  if dts1.RecordCount > 0 Then
                                                                                                                                                  Begin
                                                                                                                                                    dts1.Edit;
                                                                                                                                                    dts1.Post;
                                                                                                                                                	  dts1.ApplyUpdates(-1);
                                                                                                                                                  End;
                                                                                                                                                  //主表更新保存
                                                                                                                                                  dts0.Edit;
                                                                                                                                                  dts0.FieldByName('FStatus').AsInteger := 1;
                                                                                                                                                  dts0.Post;
                                                                                                                                                  dts0.ApplyUpdates(-1);
                                                                                                                                                  ShowSweetAlert(atSuccess,UGMM.LT('提示'),UGMM.LT('数据保存成功!'));
                                                                                                                                                  RefState(1);
                                                                                                                                                Finally
                                                                                                                                                  vdts.Free;
                                                                                                                                                End;
                                                                                                                                            end;
                                                                                                                                            
                                                                                                                                            1
                                                                                                                                            2
                                                                                                                                            3
                                                                                                                                            4
                                                                                                                                            5
                                                                                                                                            6
                                                                                                                                            7
                                                                                                                                            8
                                                                                                                                            9
                                                                                                                                            10
                                                                                                                                            11
                                                                                                                                            12
                                                                                                                                            13
                                                                                                                                            14
                                                                                                                                            15
                                                                                                                                            16
                                                                                                                                            17
                                                                                                                                            18
                                                                                                                                            19
                                                                                                                                            20
                                                                                                                                            21
                                                                                                                                            22
                                                                                                                                            23
                                                                                                                                            24
                                                                                                                                            25
                                                                                                                                            26
                                                                                                                                            27
                                                                                                                                            28
                                                                                                                                            29
                                                                                                                                            30
                                                                                                                                            31
                                                                                                                                            32
                                                                                                                                            33
                                                                                                                                            34
                                                                                                                                            35
                                                                                                                                            36
                                                                                                                                            37
                                                                                                                                            38
                                                                                                                                            39
                                                                                                                                            40
                                                                                                                                            41
                                                                                                                                            42
                                                                                                                                            43
                                                                                                                                            44
                                                                                                                                            45
                                                                                                                                            46
                                                                                                                                            47
                                                                                                                                            48
                                                                                                                                            49
                                                                                                                                            50
                                                                                                                                            51
                                                                                                                                            52
                                                                                                                                            53
                                                                                                                                            54
                                                                                                                                            55
                                                                                                                                            56
                                                                                                                                            57
                                                                                                                                            58
                                                                                                                                            59
                                                                                                                                            60
                                                                                                                                            61
                                                                                                                                            62
                                                                                                                                            63
                                                                                                                                            64
                                                                                                                                            65
                                                                                                                                            66
                                                                                                                                            // Make sure to add code blocks to your code group
                                                                                                                                            • dts1BeforeEdit:dts1的BeforeEdit事件,在编辑前启用单据编辑模式。
                                                                                                                                              //JScript
                                                                                                                                              function dts1BeforeEdit(datasettdataset)
                                                                                                                                              //明细数据集在编辑前启动编辑模式
                                                                                                                                              {
                                                                                                                                                RefState(-1);
                                                                                                                                              }
                                                                                                                                              
                                                                                                                                              1
                                                                                                                                              2
                                                                                                                                              3
                                                                                                                                              4
                                                                                                                                              5
                                                                                                                                              6
                                                                                                                                              //PasScript
                                                                                                                                              procedure dts1BeforeEdit(dataset: tdataset);
                                                                                                                                              //明细数据集在编辑前启动编辑模式
                                                                                                                                              begin
                                                                                                                                                RefState(-1);
                                                                                                                                              end;
                                                                                                                                              
                                                                                                                                              1
                                                                                                                                              2
                                                                                                                                              3
                                                                                                                                              4
                                                                                                                                              5
                                                                                                                                              6
                                                                                                                                              // Make sure to add code blocks to your code group
                                                                                                                                              • btnDelRowOnClick:btnDelRow的OnClick事件,点击以删除行。
                                                                                                                                                //JScript
                                                                                                                                                function btnDelRowOnClick(sender)
                                                                                                                                                //删除行
                                                                                                                                                {
                                                                                                                                                  RefState(-1);
                                                                                                                                                  if (dts1.RecordCount == 0)
                                                                                                                                                  {
                                                                                                                                                    ShowSweetAlert(atError,UGMM.LT("提示"),UGMM.LT("无可删除的明细数据!"));
                                                                                                                                                    return;
                                                                                                                                                    //Exit;
                                                                                                                                                  }
                                                                                                                                                  dts1.Delete;
                                                                                                                                                }
                                                                                                                                                
                                                                                                                                                1
                                                                                                                                                2
                                                                                                                                                3
                                                                                                                                                4
                                                                                                                                                5
                                                                                                                                                6
                                                                                                                                                7
                                                                                                                                                8
                                                                                                                                                9
                                                                                                                                                10
                                                                                                                                                11
                                                                                                                                                12
                                                                                                                                                13
                                                                                                                                                //PasScript
                                                                                                                                                procedure btnDelRowOnClick(sender: tobject);
                                                                                                                                                //删除行
                                                                                                                                                begin
                                                                                                                                                  RefState(-1);
                                                                                                                                                  if dts1.RecordCount = 0 then
                                                                                                                                                  Begin
                                                                                                                                                    ShowSweetAlert(atError,UGMM.LT('提示'),UGMM.LT('无可删除的明细数据!'));
                                                                                                                                                    Exit;
                                                                                                                                                  End;
                                                                                                                                                  dts1.Delete;
                                                                                                                                                end;
                                                                                                                                                
                                                                                                                                                1
                                                                                                                                                2
                                                                                                                                                3
                                                                                                                                                4
                                                                                                                                                5
                                                                                                                                                6
                                                                                                                                                7
                                                                                                                                                8
                                                                                                                                                9
                                                                                                                                                10
                                                                                                                                                11
                                                                                                                                                12
                                                                                                                                                // Make sure to add code blocks to your code group
                                                                                                                                                • btnCopyRowOnClick:btnCopyRow的OnClick事件,点击以复制行。
                                                                                                                                                  //JScript
                                                                                                                                                  function btnCopyRowOnClick(sender)
                                                                                                                                                  //复制行
                                                                                                                                                  {
                                                                                                                                                    //在 dts1OnNewRecord 事件中触发新增字段的更新事件
                                                                                                                                                    RefState(-1);
                                                                                                                                                    DataSetRowCopy(dts1);
                                                                                                                                                  }
                                                                                                                                                  
                                                                                                                                                  
                                                                                                                                                  1
                                                                                                                                                  2
                                                                                                                                                  3
                                                                                                                                                  4
                                                                                                                                                  5
                                                                                                                                                  6
                                                                                                                                                  7
                                                                                                                                                  8
                                                                                                                                                  9
                                                                                                                                                  //PasScript
                                                                                                                                                  procedure btnCopyRowOnClick(sender: tobject);
                                                                                                                                                  //复制行
                                                                                                                                                  begin
                                                                                                                                                    //在 dts1OnNewRecord 事件中触发新增字段的更新事件
                                                                                                                                                    RefState(-1);
                                                                                                                                                    DataSetRowCopy(dts1);
                                                                                                                                                  end;
                                                                                                                                                  
                                                                                                                                                  1
                                                                                                                                                  2
                                                                                                                                                  3
                                                                                                                                                  4
                                                                                                                                                  5
                                                                                                                                                  6
                                                                                                                                                  7
                                                                                                                                                  8
                                                                                                                                                  // Make sure to add code blocks to your code group
                                                                                                                                                  • DoBillBusiness:用于实现单据的审核、消审功能。
                                                                                                                                                    //JScript
                                                                                                                                                    function DoBillBusiness(AFlag)
                                                                                                                                                    //实现单据的审核、消审
                                                                                                                                                    {
                                                                                                                                                      //{ 执行存储过程 sp_XXXX }
                                                                                                                                                      //{ sp_XXXX @ProcID, @DataID, @UserID }
                                                                                                                                                      var ADataSet,AStoredProc,sOptName,strSQL,iReturnFlag,iReturnMsg,i,j,vRAISEMSG,vMSG,Field;
                                                                                                                                                      //单据功能字符更新
                                                                                                                                                      if (AFlag == UGMM.LT("消审")){
                                                                                                                                                        sOptName = "UnCheck";
                                                                                                                                                      }
                                                                                                                                                      else if (AFlag == UGMM.LT("审核")){
                                                                                                                                                        sOptName = "Check";
                                                                                                                                                      }
                                                                                                                                                      else if (AFlag == UGMM.LT("作废")){
                                                                                                                                                        sOptName = "Revoke";
                                                                                                                                                      }
                                                                                                                                                      else if (AFlag == UGMM.LT("还原")){
                                                                                                                                                        sOptName = "Recover";
                                                                                                                                                      }
                                                                                                                                                      else if (AFlag == UGMM.LT("删除")){
                                                                                                                                                        sOptName = "Delete";
                                                                                                                                                      }
                                                                                                                                                      else if (AFlag == UGMM.LT("关闭")){
                                                                                                                                                        sOptName = "Close";
                                                                                                                                                      }
                                                                                                                                                      else if (AFlag == UGMM.LT("恢复")){
                                                                                                                                                        sOptName = "UnClose";
                                                                                                                                                      }
                                                                                                                                                      else
                                                                                                                                                      {
                                                                                                                                                        sOptName = AFlag;
                                                                                                                                                      }
                                                                                                                                                      //存储过程初始化,获取参数信息
                                                                                                                                                      AStoredProc = new TUgRFStroedProc(nil);
                                                                                                                                                      AStoredProc.Connection = GETRFERP;
                                                                                                                                                      try{
                                                                                                                                                        AStoredProc.StoredProcName = "sp_Sal_Order";
                                                                                                                                                        AStoredProc.Prepare;
                                                                                                                                                        if (AStoredProc.Prepared)
                                                                                                                                                        {
                                                                                                                                                          //参数赋值
                                                                                                                                                          AStoredProc.ParamByName("ProcID").AsString = sOptName;
                                                                                                                                                          AStoredProc.ParamByName("DataID").AsString = dts0.FieldByName("FInterID").AsString;
                                                                                                                                                          AStoredProc.ParamByName("UserID").AsString = UGMM.Informations.Values["UserFullName"];
                                                                                                                                                          if (AStoredProc.FindParam("SQResult") != nil)
                                                                                                                                                            AStoredProc.ParamByName("SQResult").AsString = "";
                                                                                                                                                          try{
                                                                                                                                                            //执行存储过程
                                                                                                                                                            AStoredProc.ExecProc;
                                                                                                                                                          }
                                                                                                                                                           Except{
                                                                                                                                                              vRAISEMSG=ExceptionMessage;
                                                                                                                                                              //异常信息更新
                                                                                                                                                              i = Pos("SQMESSAGE", vRAISEMSG);
                                                                                                                                                              j = Pos("[SQL Server]", vRAISEMSG);
                                                                                                                                                              vMSG = Copy(vRAISEMSG, i, Length(vRAISEMSG) - i + 1);
                                                                                                                                                        
                                                                                                                                                    
                                                                                                                                                              // 非格式化消息提示
                                                                                                                                                              if (i == 0)
                                                                                                                                                              {
                                                                                                                                                                ShowSweetAlert(atError,UGMM.LT("提示"), Copy(vRAISEMSG, j + 12, Length(vRAISEMSG) - j + 1));
                                                                                                                                                                return;
                                                                                                                                                                //Exit;
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                          }
                                                                                                                                                        }
                                                                                                                                                      finally{
                                                                                                                                                        AStoredProc.Free;
                                                                                                                                                      }
                                                                                                                                                      //数据集刷新,更新显示状态
                                                                                                                                                      dts0.Open;
                                                                                                                                                      dts1.Open;
                                                                                                                                                      RefState(dts0.FieldByName("FStatus").AsInteger);
                                                                                                                                                      RefreshStatus;
                                                                                                                                                    }
                                                                                                                                                    
                                                                                                                                                    1
                                                                                                                                                    2
                                                                                                                                                    3
                                                                                                                                                    4
                                                                                                                                                    5
                                                                                                                                                    6
                                                                                                                                                    7
                                                                                                                                                    8
                                                                                                                                                    9
                                                                                                                                                    10
                                                                                                                                                    11
                                                                                                                                                    12
                                                                                                                                                    13
                                                                                                                                                    14
                                                                                                                                                    15
                                                                                                                                                    16
                                                                                                                                                    17
                                                                                                                                                    18
                                                                                                                                                    19
                                                                                                                                                    20
                                                                                                                                                    21
                                                                                                                                                    22
                                                                                                                                                    23
                                                                                                                                                    24
                                                                                                                                                    25
                                                                                                                                                    26
                                                                                                                                                    27
                                                                                                                                                    28
                                                                                                                                                    29
                                                                                                                                                    30
                                                                                                                                                    31
                                                                                                                                                    32
                                                                                                                                                    33
                                                                                                                                                    34
                                                                                                                                                    35
                                                                                                                                                    36
                                                                                                                                                    37
                                                                                                                                                    38
                                                                                                                                                    39
                                                                                                                                                    40
                                                                                                                                                    41
                                                                                                                                                    42
                                                                                                                                                    43
                                                                                                                                                    44
                                                                                                                                                    45
                                                                                                                                                    46
                                                                                                                                                    47
                                                                                                                                                    48
                                                                                                                                                    49
                                                                                                                                                    50
                                                                                                                                                    51
                                                                                                                                                    52
                                                                                                                                                    53
                                                                                                                                                    54
                                                                                                                                                    55
                                                                                                                                                    56
                                                                                                                                                    57
                                                                                                                                                    58
                                                                                                                                                    59
                                                                                                                                                    60
                                                                                                                                                    61
                                                                                                                                                    62
                                                                                                                                                    63
                                                                                                                                                    64
                                                                                                                                                    65
                                                                                                                                                    66
                                                                                                                                                    67
                                                                                                                                                    68
                                                                                                                                                    69
                                                                                                                                                    70
                                                                                                                                                    71
                                                                                                                                                    72
                                                                                                                                                    73
                                                                                                                                                    74
                                                                                                                                                    75
                                                                                                                                                    76
                                                                                                                                                    77
                                                                                                                                                    78
                                                                                                                                                    //PasScript
                                                                                                                                                    procedure DoBillBusiness(AFlag: String);
                                                                                                                                                    //实现单据的审核、消审
                                                                                                                                                    var
                                                                                                                                                      ADataSet: TUgRFDataSet;
                                                                                                                                                      AStoredProc: TRFStoredProc;
                                                                                                                                                      sOptName: String;
                                                                                                                                                      strSQL: String;
                                                                                                                                                      iReturnFlag: Integer;
                                                                                                                                                      iReturnMsg: String;
                                                                                                                                                      i, j: Integer;
                                                                                                                                                      vRAISEMSG: string;
                                                                                                                                                      vMSG: string;
                                                                                                                                                      Field: TField;
                                                                                                                                                    begin
                                                                                                                                                      { 执行存储过程 sp_XXXX }
                                                                                                                                                      { sp_XXXX @ProcID, @DataID, @UserID }
                                                                                                                                                      //单据功能字符更新
                                                                                                                                                      if AFlag = UGMM.LT('消审') then
                                                                                                                                                        sOptName := 'UnCheck'
                                                                                                                                                      else if AFlag = UGMM.LT('审核') then
                                                                                                                                                        sOptName := 'Check'
                                                                                                                                                      else if AFlag = UGMM.LT('作废') then
                                                                                                                                                        sOptName := 'Revoke'
                                                                                                                                                      else if AFlag = UGMM.LT('还原') then
                                                                                                                                                        sOptName := 'Recover'
                                                                                                                                                      else if AFlag = UGMM.LT('删除') then
                                                                                                                                                        sOptName := 'Delete'
                                                                                                                                                      else if AFlag = UGMM.LT('关闭') then
                                                                                                                                                        sOptName := 'Close'
                                                                                                                                                      else if AFlag = UGMM.LT('恢复') then
                                                                                                                                                        sOptName := 'UnClose'
                                                                                                                                                      else
                                                                                                                                                      begin
                                                                                                                                                        sOptName := AFlag;
                                                                                                                                                      end;
                                                                                                                                                      //存储过程初始化,获取参数信息
                                                                                                                                                      AStoredProc := TUgRFStroedProc.Create(nil);
                                                                                                                                                      AStoredProc.Connection := GETRFERP;
                                                                                                                                                      try
                                                                                                                                                        AStoredProc.StoredProcName := 'sp_Sal_Order';
                                                                                                                                                        AStoredProc.Prepare;
                                                                                                                                                        if AStoredProc.Prepared then
                                                                                                                                                        begin
                                                                                                                                                          //参数赋值
                                                                                                                                                          AStoredProc.ParamByName('ProcID').AsString := sOptName;
                                                                                                                                                          AStoredProc.ParamByName('DataID').AsString := dts0.FieldByName('FInterID').AsString;
                                                                                                                                                          AStoredProc.ParamByName('UserID').AsString := UGMM.Informations.Values['UserFullName'];
                                                                                                                                                          if AStoredProc.FindParam('SQResult') <> nil then
                                                                                                                                                            AStoredProc.ParamByName('SQResult').AsString := '';
                                                                                                                                                          try
                                                                                                                                                            //执行存储过程
                                                                                                                                                            AStoredProc.ExecProc;
                                                                                                                                                           Except{ExceptionMessage}
                                                                                                                                                              vRAISEMSG:=ExceptionMessage;
                                                                                                                                                              //异常信息更新
                                                                                                                                                              i := Pos('SQMESSAGE', vRAISEMSG);
                                                                                                                                                              j := Pos('[SQL Server]', vRAISEMSG);
                                                                                                                                                              vMSG := Copy(vRAISEMSG, i, Length(vRAISEMSG) - i + 1);
                                                                                                                                                        
                                                                                                                                                    
                                                                                                                                                              // 非格式化消息提示
                                                                                                                                                              if i = 0 then
                                                                                                                                                              begin
                                                                                                                                                                ShowSweetAlert(atError,UGMM.LT('提示'), Copy(vRAISEMSG, j + 12, Length(vRAISEMSG) - j + 1));
                                                                                                                                                                Exit;
                                                                                                                                                              end;
                                                                                                                                                            end;
                                                                                                                                                        end;
                                                                                                                                                      finally
                                                                                                                                                        AStoredProc.Free;
                                                                                                                                                      end;
                                                                                                                                                      //数据集刷新,更新显示状态
                                                                                                                                                      dts0.Open;
                                                                                                                                                      dts1.Open;
                                                                                                                                                      RefState(dts0.FieldByName('FStatus').AsInteger);
                                                                                                                                                      RefreshStatus;
                                                                                                                                                    End;
                                                                                                                                                    
                                                                                                                                                    1
                                                                                                                                                    2
                                                                                                                                                    3
                                                                                                                                                    4
                                                                                                                                                    5
                                                                                                                                                    6
                                                                                                                                                    7
                                                                                                                                                    8
                                                                                                                                                    9
                                                                                                                                                    10
                                                                                                                                                    11
                                                                                                                                                    12
                                                                                                                                                    13
                                                                                                                                                    14
                                                                                                                                                    15
                                                                                                                                                    16
                                                                                                                                                    17
                                                                                                                                                    18
                                                                                                                                                    19
                                                                                                                                                    20
                                                                                                                                                    21
                                                                                                                                                    22
                                                                                                                                                    23
                                                                                                                                                    24
                                                                                                                                                    25
                                                                                                                                                    26
                                                                                                                                                    27
                                                                                                                                                    28
                                                                                                                                                    29
                                                                                                                                                    30
                                                                                                                                                    31
                                                                                                                                                    32
                                                                                                                                                    33
                                                                                                                                                    34
                                                                                                                                                    35
                                                                                                                                                    36
                                                                                                                                                    37
                                                                                                                                                    38
                                                                                                                                                    39
                                                                                                                                                    40
                                                                                                                                                    41
                                                                                                                                                    42
                                                                                                                                                    43
                                                                                                                                                    44
                                                                                                                                                    45
                                                                                                                                                    46
                                                                                                                                                    47
                                                                                                                                                    48
                                                                                                                                                    49
                                                                                                                                                    50
                                                                                                                                                    51
                                                                                                                                                    52
                                                                                                                                                    53
                                                                                                                                                    54
                                                                                                                                                    55
                                                                                                                                                    56
                                                                                                                                                    57
                                                                                                                                                    58
                                                                                                                                                    59
                                                                                                                                                    60
                                                                                                                                                    61
                                                                                                                                                    62
                                                                                                                                                    63
                                                                                                                                                    64
                                                                                                                                                    65
                                                                                                                                                    66
                                                                                                                                                    67
                                                                                                                                                    68
                                                                                                                                                    69
                                                                                                                                                    70
                                                                                                                                                    71
                                                                                                                                                    72
                                                                                                                                                    73
                                                                                                                                                    74
                                                                                                                                                    75
                                                                                                                                                    76
                                                                                                                                                    77
                                                                                                                                                    78
                                                                                                                                                    // Make sure to add code blocks to your code group
                                                                                                                                                    • UgPopupMenu01UgMenuItemsOnClick:UgPopupMenu01UgMenuItems的OnClick事件,点击菜单栏项目执行单据功能。
                                                                                                                                                      //JScript
                                                                                                                                                      function UgPopupMenu01UgMenuItemsOnClick(acaption)
                                                                                                                                                      //功能按钮分区
                                                                                                                                                      {
                                                                                                                                                        //执行存储过程
                                                                                                                                                        DoBillBusiness(acaption);
                                                                                                                                                      }
                                                                                                                                                      
                                                                                                                                                      1
                                                                                                                                                      2
                                                                                                                                                      3
                                                                                                                                                      4
                                                                                                                                                      5
                                                                                                                                                      6
                                                                                                                                                      7
                                                                                                                                                      //PasScript
                                                                                                                                                      procedure UgPopupMenu01UgMenuItemsOnClick(const acaption: string);
                                                                                                                                                      //功能按钮分区
                                                                                                                                                      begin
                                                                                                                                                        //执行存储过程
                                                                                                                                                        DoBillBusiness(acaption);
                                                                                                                                                      end;
                                                                                                                                                      
                                                                                                                                                      1
                                                                                                                                                      2
                                                                                                                                                      3
                                                                                                                                                      4
                                                                                                                                                      5
                                                                                                                                                      6
                                                                                                                                                      7
                                                                                                                                                      // Make sure to add code blocks to your code group
                                                                                                                                                      • UgTimer01OnTimer:UgTimer01的OnTimer事件,设置打印的相关设置项目。
                                                                                                                                                        //JScript
                                                                                                                                                        function UgTimer01OnTimer(sender)
                                                                                                                                                        {
                                                                                                                                                          //打印设置
                                                                                                                                                          UgTimer01.Enabled = False;
                                                                                                                                                          UgFlying.AddPrintData(dts0,"A");
                                                                                                                                                          UgFlying.AddPrintData(dts1,"B");
                                                                                                                                                          UgFlying.AddPrintData(dtsCompany,"C");
                                                                                                                                                          UgFlying.ReportPreview;
                                                                                                                                                        }
                                                                                                                                                        
                                                                                                                                                        1
                                                                                                                                                        2
                                                                                                                                                        3
                                                                                                                                                        4
                                                                                                                                                        5
                                                                                                                                                        6
                                                                                                                                                        7
                                                                                                                                                        8
                                                                                                                                                        9
                                                                                                                                                        10
                                                                                                                                                        //PasScript
                                                                                                                                                        procedure UgTimer01OnTimer(sender: tobject);
                                                                                                                                                        begin
                                                                                                                                                          //打印设置
                                                                                                                                                          UgTimer01.Enabled := False;
                                                                                                                                                          UgFlying.AddPrintData(dts0,'A');
                                                                                                                                                          UgFlying.AddPrintData(dts1,'B');
                                                                                                                                                          UgFlying.AddPrintData(dtsCompany,'C');
                                                                                                                                                          UgFlying.ReportPreview;
                                                                                                                                                        end;
                                                                                                                                                        
                                                                                                                                                        1
                                                                                                                                                        2
                                                                                                                                                        3
                                                                                                                                                        4
                                                                                                                                                        5
                                                                                                                                                        6
                                                                                                                                                        7
                                                                                                                                                        8
                                                                                                                                                        9
                                                                                                                                                        10
                                                                                                                                                        // Make sure to add code blocks to your code group
                                                                                                                                                        • lkupdts0FCustIDOnChange:lkupdts0FCustID的OnChange事件,当变更客户资料时更新对应字段信息。
                                                                                                                                                          //JScript
                                                                                                                                                          function lkupdts0FCustIDOnChange(sender)
                                                                                                                                                          //变更客户资料时更新对应字段信息
                                                                                                                                                          {
                                                                                                                                                            dts0.Edit;
                                                                                                                                                            dts0.FieldByName("FCustCode").AsString = dtsFCustID.FieldByName("FCustCode").AsString;
                                                                                                                                                            dts0.FieldByName("FCustName").AsString = dtsFCustID.FieldByName("FCustName").AsString;
                                                                                                                                                            dts0.FieldByName("FDeptID").AsString = dtsFCustID.FieldByName("FDeptID").AsString;
                                                                                                                                                            dts0.FieldByName("FDeptCode").AsString = dtsFCustID.FieldByName("FDeptCode").AsString;
                                                                                                                                                            dts0.FieldByName("FDeptName").AsString = dtsFCustID.FieldByName("FDeptName").AsString;
                                                                                                                                                            dts0.FieldByName("FEmpID").AsString = dtsFCustID.FieldByName("FEmpID").AsString;
                                                                                                                                                            dts0.FieldByName("FEmpCode").AsString = dtsFCustID.FieldByName("FEmpCode").AsString;
                                                                                                                                                            dts0.FieldByName("FEmpName").AsString = dtsFCustID.FieldByName("FEmpName").AsString;
                                                                                                                                                            dts0.FieldByName("FSaleType").AsString = dtsFCustID.FieldByName("FSaleType").AsString;
                                                                                                                                                            //dts0.Post;
                                                                                                                                                          }
                                                                                                                                                          
                                                                                                                                                          
                                                                                                                                                          1
                                                                                                                                                          2
                                                                                                                                                          3
                                                                                                                                                          4
                                                                                                                                                          5
                                                                                                                                                          6
                                                                                                                                                          7
                                                                                                                                                          8
                                                                                                                                                          9
                                                                                                                                                          10
                                                                                                                                                          11
                                                                                                                                                          12
                                                                                                                                                          13
                                                                                                                                                          14
                                                                                                                                                          15
                                                                                                                                                          16
                                                                                                                                                          17
                                                                                                                                                          //PasScript
                                                                                                                                                          procedure lkupdts0FCustIDOnChange(sender: tobject);
                                                                                                                                                          //变更客户资料时更新对应字段信息
                                                                                                                                                          begin
                                                                                                                                                            dts0.Edit;
                                                                                                                                                            dts0.FieldByName('FCustCode').AsString := dtsFCustID.FieldByName('FCustCode').AsString;
                                                                                                                                                            dts0.FieldByName('FCustName').AsString := dtsFCustID.FieldByName('FCustName').AsString;
                                                                                                                                                            dts0.FieldByName('FDeptID').AsString := dtsFCustID.FieldByName('FDeptID').AsString;
                                                                                                                                                            dts0.FieldByName('FDeptCode').AsString := dtsFCustID.FieldByName('FDeptCode').AsString;
                                                                                                                                                            dts0.FieldByName('FDeptName').AsString := dtsFCustID.FieldByName('FDeptName').AsString;
                                                                                                                                                            dts0.FieldByName('FEmpID').AsString := dtsFCustID.FieldByName('FEmpID').AsString;
                                                                                                                                                            dts0.FieldByName('FEmpCode').AsString := dtsFCustID.FieldByName('FEmpCode').AsString;
                                                                                                                                                            dts0.FieldByName('FEmpName').AsString := dtsFCustID.FieldByName('FEmpName').AsString;
                                                                                                                                                            dts0.FieldByName('FSaleType').AsString := dtsFCustID.FieldByName('FSaleType').AsString;
                                                                                                                                                            //dts0.Post;
                                                                                                                                                          end;
                                                                                                                                                          
                                                                                                                                                          1
                                                                                                                                                          2
                                                                                                                                                          3
                                                                                                                                                          4
                                                                                                                                                          5
                                                                                                                                                          6
                                                                                                                                                          7
                                                                                                                                                          8
                                                                                                                                                          9
                                                                                                                                                          10
                                                                                                                                                          11
                                                                                                                                                          12
                                                                                                                                                          13
                                                                                                                                                          14
                                                                                                                                                          15
                                                                                                                                                          16
                                                                                                                                                          // Make sure to add code blocks to your code group
                                                                                                                                                          • btnUploadImageOnClick:btnUploadImage的OnClick事件,点击以上传图片。
                                                                                                                                                            //JScript
                                                                                                                                                            function btnUploadImageOnClick(sender)
                                                                                                                                                            //上传图片
                                                                                                                                                            {
                                                                                                                                                              UgFileUpload.Execute;
                                                                                                                                                            }
                                                                                                                                                            
                                                                                                                                                            1
                                                                                                                                                            2
                                                                                                                                                            3
                                                                                                                                                            4
                                                                                                                                                            5
                                                                                                                                                            6
                                                                                                                                                            //PasScript
                                                                                                                                                            procedure btnUploadImageOnClick(sender: tobject);
                                                                                                                                                            //上传图片
                                                                                                                                                            begin
                                                                                                                                                              UgFileUpload.Execute;
                                                                                                                                                            end;
                                                                                                                                                            
                                                                                                                                                            1
                                                                                                                                                            2
                                                                                                                                                            3
                                                                                                                                                            4
                                                                                                                                                            5
                                                                                                                                                            6
                                                                                                                                                            // Make sure to add code blocks to your code group
                                                                                                                                                            • UgFileUploadOnCompleted:UgFileUpload的OnCompleted事件,文件上传完成后更新至对应的数据集字段。
                                                                                                                                                              //JScript
                                                                                                                                                              function UgFileUploadOnCompleted(sender,astream)
                                                                                                                                                              //文件上传完成时更新至对应的数据集字段中
                                                                                                                                                              {
                                                                                                                                                                TBlobField(imgdts0FImage.DataSource.DataSet.FieldByName(imgdts0FImage.DataField)).LoadFromStream(astream);
                                                                                                                                                              }
                                                                                                                                                              
                                                                                                                                                              1
                                                                                                                                                              2
                                                                                                                                                              3
                                                                                                                                                              4
                                                                                                                                                              5
                                                                                                                                                              6
                                                                                                                                                              //PasScript
                                                                                                                                                              procedure UgFileUploadOnCompleted(sender: tobject;astream: tfilestream);
                                                                                                                                                              //文件上传完成时更新至对应的数据集字段中
                                                                                                                                                              begin
                                                                                                                                                                TBlobField(imgdts0FImage.DataSource.DataSet.FieldByName(imgdts0FImage.DataField)).LoadFromStream(astream);
                                                                                                                                                              end;
                                                                                                                                                              
                                                                                                                                                              1
                                                                                                                                                              2
                                                                                                                                                              3
                                                                                                                                                              4
                                                                                                                                                              5
                                                                                                                                                              6
                                                                                                                                                              // Make sure to add code blocks to your code group
                                                                                                                                                              • dts1OnNewRecord:dts1的OnNewRecord事件,新增记录时初始化相关信息的设置。
                                                                                                                                                                //JScript
                                                                                                                                                                function dts1OnNewRecord(dataset)
                                                                                                                                                                //新增记录时修改相关信息
                                                                                                                                                                {
                                                                                                                                                                  dts1.FieldByName("FID").AsInteger = GetNodeID;
                                                                                                                                                                  dts1.FieldByName("FInterID").AsInteger = dts0.FieldByName("FInterID").AsInteger;
                                                                                                                                                                  dts1.FieldByName("FEntryID").AsInteger = dts1.RecordCount + 1;
                                                                                                                                                                  dts1.FieldByName("FClosed").AsInteger = 0;
                                                                                                                                                                  dts1.FieldByName("FState").AsInteger = 0;
                                                                                                                                                                }
                                                                                                                                                                
                                                                                                                                                                1
                                                                                                                                                                2
                                                                                                                                                                3
                                                                                                                                                                4
                                                                                                                                                                5
                                                                                                                                                                6
                                                                                                                                                                7
                                                                                                                                                                8
                                                                                                                                                                9
                                                                                                                                                                10
                                                                                                                                                                //PasScript
                                                                                                                                                                procedure dts1OnNewRecord(dataset: tdataset);
                                                                                                                                                                //新增记录时修改相关信息
                                                                                                                                                                begin
                                                                                                                                                                  dts1.FieldByName('FID').AsInteger := GetNodeID;
                                                                                                                                                                  dts1.FieldByName('FInterID').AsInteger := dts0.FieldByName('FInterID').AsInteger;
                                                                                                                                                                  dts1.FieldByName('FEntryID').AsInteger := dts1.RecordCount + 1;
                                                                                                                                                                  dts1.FieldByName('FClosed').AsInteger := 0;
                                                                                                                                                                  dts1.FieldByName('FState').AsInteger := 0;
                                                                                                                                                                end;
                                                                                                                                                                
                                                                                                                                                                1
                                                                                                                                                                2
                                                                                                                                                                3
                                                                                                                                                                4
                                                                                                                                                                5
                                                                                                                                                                6
                                                                                                                                                                7
                                                                                                                                                                8
                                                                                                                                                                9
                                                                                                                                                                10
                                                                                                                                                                // Make sure to add code blocks to your code group
                                                                                                                                                                • dts0BeforeEdit:dts0的BeforeEdit事件,主数据集在启动前启用编辑模式。
                                                                                                                                                                  //JScript
                                                                                                                                                                  function dts0BeforeEdit(dataset)
                                                                                                                                                                  //主数据集在启动前启用编辑模式
                                                                                                                                                                  {
                                                                                                                                                                    RefState(-1);
                                                                                                                                                                  }
                                                                                                                                                                  
                                                                                                                                                                  1
                                                                                                                                                                  2
                                                                                                                                                                  3
                                                                                                                                                                  4
                                                                                                                                                                  5
                                                                                                                                                                  6
                                                                                                                                                                  //PasScript
                                                                                                                                                                  procedure dts0BeforeEdit(dataset: tdataset);
                                                                                                                                                                  //主数据集在启动前启用编辑模式
                                                                                                                                                                  begin
                                                                                                                                                                    RefState(-1);
                                                                                                                                                                  end;
                                                                                                                                                                  
                                                                                                                                                                  1
                                                                                                                                                                  2
                                                                                                                                                                  3
                                                                                                                                                                  4
                                                                                                                                                                  5
                                                                                                                                                                  6
                                                                                                                                                                  // Make sure to add code blocks to your code group
                                                                                                                                                                  • btnImportItemOnClick:btnImportItem的OnClick事件,点击以打开布种资料导入页面。
                                                                                                                                                                    //JScript
                                                                                                                                                                    function btnImportItemOnClick(sender)
                                                                                                                                                                    //打开导入界面,布种资料
                                                                                                                                                                    {
                                                                                                                                                                      var F,D;
                                                                                                                                                                      //仅处于编辑模式下可打开导入窗体
                                                                                                                                                                      if ((dts0.FieldByName("FStatus").AsInteger == 1) || (dts0.FieldByName("FStatus").AsInteger == -1))
                                                                                                                                                                      {
                                                                                                                                                                        //打开导入页面窗口W-EQ-MOD-2125-2
                                                                                                                                                                        F = UGMM.GetWebSubForm("W-EQ-MOD-2125-2");
                                                                                                                                                                        F.Caption = UGMM.LT("导入布种资料");
                                                                                                                                                                        //翻译页面
                                                                                                                                                                        UGMM.LC(F);
                                                                                                                                                                        if (F.ShowModal == mrOK) 
                                                                                                                                                                        {
                                                                                                                                                                            D = TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent("dtsSelected"));
                                                                                                                                                                            //引用相关的内容进行新增
                                                                                                                                                                            D.First;
                                                                                                                                                                            While (!(D.Eof))
                                                                                                                                                                            {
                                                                                                                                                                              //数据集导入更新
                                                                                                                                                                              dts1.Append;
                                                                                                                                                                              dts1.FieldByName("FItemID").AsString = D.FieldByName("FInterID").AsString;
                                                                                                                                                                              dts1.FieldByName("FItemCode").AsString = D.FieldByName("FItemCode").AsString;
                                                                                                                                                                              dts1.FieldByName("FItemName").AsString = D.FieldByName("FItemName").AsString;
                                                                                                                                                                              dts1.FieldByName("FItemSpec").AsString = D.FieldByName("FItemSpec").AsString;
                                                                                                                                                                              dts1.FieldByName("FUnitID").AsString = D.FieldByName("FUnitID").AsString;
                                                                                                                                                                              dts1.FieldByName("FUnitCode").AsString = D.FieldByName("FUnitCode").AsString;
                                                                                                                                                                              dts1.FieldByName("FUnitName").AsString = D.FieldByName("FUnitName").AsString;
                                                                                                                                                                              dts1.Post;
                                                                                                                                                                              D.Next;
                                                                                                                                                                            }
                                                                                                                                                                            RefState(-1);
                                                                                                                                                                          }
                                                                                                                                                                        //关闭释放窗口W-EQ-MOD-2125-2
                                                                                                                                                                        UGMM.DelWebSubForm("W-EQ-MOD-2125-2");
                                                                                                                                                                      }
                                                                                                                                                                    }
                                                                                                                                                                    
                                                                                                                                                                    1
                                                                                                                                                                    2
                                                                                                                                                                    3
                                                                                                                                                                    4
                                                                                                                                                                    5
                                                                                                                                                                    6
                                                                                                                                                                    7
                                                                                                                                                                    8
                                                                                                                                                                    9
                                                                                                                                                                    10
                                                                                                                                                                    11
                                                                                                                                                                    12
                                                                                                                                                                    13
                                                                                                                                                                    14
                                                                                                                                                                    15
                                                                                                                                                                    16
                                                                                                                                                                    17
                                                                                                                                                                    18
                                                                                                                                                                    19
                                                                                                                                                                    20
                                                                                                                                                                    21
                                                                                                                                                                    22
                                                                                                                                                                    23
                                                                                                                                                                    24
                                                                                                                                                                    25
                                                                                                                                                                    26
                                                                                                                                                                    27
                                                                                                                                                                    28
                                                                                                                                                                    29
                                                                                                                                                                    30
                                                                                                                                                                    31
                                                                                                                                                                    32
                                                                                                                                                                    33
                                                                                                                                                                    34
                                                                                                                                                                    35
                                                                                                                                                                    36
                                                                                                                                                                    37
                                                                                                                                                                    38
                                                                                                                                                                    //PasScript
                                                                                                                                                                    procedure btnImportItemOnClick(sender: tobject);
                                                                                                                                                                    //打开导入界面,布种资料
                                                                                                                                                                    Var
                                                                                                                                                                      F:TUniForm;
                                                                                                                                                                      D: TUgRFDataSet;
                                                                                                                                                                    begin
                                                                                                                                                                      //仅处于编辑模式下可打开导入窗体
                                                                                                                                                                      if ((dts0.FieldByName('FStatus').AsInteger = 1) or (dts0.FieldByName('FStatus').AsInteger = -1)) then
                                                                                                                                                                      begin
                                                                                                                                                                        //打开导入页面窗口导入布种资料
                                                                                                                                                                        F := UGMM.GetWebSubForm('W-EQ-MOD-2125-1');
                                                                                                                                                                        F.Caption := UGMM.LT('导入布种资料');
                                                                                                                                                                        //翻译页面
                                                                                                                                                                        UGMM.LC(F);
                                                                                                                                                                        if F.ShowModal = mrOK then 
                                                                                                                                                                        Begin
                                                                                                                                                                            D := TUgRFDataSet(TUgWebForm(F).RunFrame.FindComponent('dtsSelected'));
                                                                                                                                                                            //引用相关的内容进行新增
                                                                                                                                                                            D.First;
                                                                                                                                                                            While not D.Eof Do
                                                                                                                                                                            Begin
                                                                                                                                                                              //数据集导入更新
                                                                                                                                                                              dts1.Append;
                                                                                                                                                                              dts1.FieldByName('FItemID').AsString := D.FieldByName('FInterID').AsString;
                                                                                                                                                                              dts1.FieldByName('FItemCode').AsString := D.FieldByName('FItemCode').AsString;
                                                                                                                                                                              dts1.FieldByName('FItemName').AsString := D.FieldByName('FItemName').AsString;
                                                                                                                                                                              dts1.FieldByName('FItemSpec').AsString := D.FieldByName('FItemSpec').AsString;
                                                                                                                                                                              dts1.FieldByName('FUnitID').AsString := D.FieldByName('FUnitID').AsString;
                                                                                                                                                                              dts1.FieldByName('FUnitCode').AsString := D.FieldByName('FUnitCode').AsString;
                                                                                                                                                                              dts1.FieldByName('FUnitName').AsString := D.FieldByName('FUnitName').AsString;
                                                                                                                                                                              dts1.Post;
                                                                                                                                                                              D.Next;
                                                                                                                                                                            End;
                                                                                                                                                                            RefState(-1);
                                                                                                                                                                        End;
                                                                                                                                                                        //关闭释放窗口W-EQ-MOD-2125-1
                                                                                                                                                                        UGMM.DelWebSubForm('W-EQ-MOD-2125-1');
                                                                                                                                                                      End;
                                                                                                                                                                    end;
                                                                                                                                                                    
                                                                                                                                                                    1
                                                                                                                                                                    2
                                                                                                                                                                    3
                                                                                                                                                                    4
                                                                                                                                                                    5
                                                                                                                                                                    6
                                                                                                                                                                    7
                                                                                                                                                                    8
                                                                                                                                                                    9
                                                                                                                                                                    10
                                                                                                                                                                    11
                                                                                                                                                                    12
                                                                                                                                                                    13
                                                                                                                                                                    14
                                                                                                                                                                    15
                                                                                                                                                                    16
                                                                                                                                                                    17
                                                                                                                                                                    18
                                                                                                                                                                    19
                                                                                                                                                                    20
                                                                                                                                                                    21
                                                                                                                                                                    22
                                                                                                                                                                    23
                                                                                                                                                                    24
                                                                                                                                                                    25
                                                                                                                                                                    26
                                                                                                                                                                    27
                                                                                                                                                                    28
                                                                                                                                                                    29
                                                                                                                                                                    30
                                                                                                                                                                    31
                                                                                                                                                                    32
                                                                                                                                                                    33
                                                                                                                                                                    34
                                                                                                                                                                    35
                                                                                                                                                                    36
                                                                                                                                                                    37
                                                                                                                                                                    38
                                                                                                                                                                    39
                                                                                                                                                                    40
                                                                                                                                                                    // Make sure to add code blocks to your code group
                                                                                                                                                                    • btnPrintOnClick:btnPrint的OnClick事件,点击以执行打印。
                                                                                                                                                                      //JScript
                                                                                                                                                                      function btnPrintOnClick(sender)
                                                                                                                                                                      //使用Flying执行打印
                                                                                                                                                                      {
                                                                                                                                                                          UgFlying.GetPrintList;
                                                                                                                                                                      }
                                                                                                                                                                      
                                                                                                                                                                      1
                                                                                                                                                                      2
                                                                                                                                                                      3
                                                                                                                                                                      4
                                                                                                                                                                      5
                                                                                                                                                                      6
                                                                                                                                                                      //PasScript
                                                                                                                                                                      procedure btnPrintOnClick(sender: tobject);
                                                                                                                                                                      //使用Flying执行打印
                                                                                                                                                                      begin
                                                                                                                                                                          UgFlying.GetPrintList;
                                                                                                                                                                      end;
                                                                                                                                                                      
                                                                                                                                                                      1
                                                                                                                                                                      2
                                                                                                                                                                      3
                                                                                                                                                                      4
                                                                                                                                                                      5
                                                                                                                                                                      6
                                                                                                                                                                      // Make sure to add code blocks to your code group
                                                                                                                                                                      • UgFlyingOnReceived:UgFlying的OnReceived事件,点击以设置打印。
                                                                                                                                                                        //JScript
                                                                                                                                                                        function UgFlyingOnReceived(asender,atype,acontent)
                                                                                                                                                                        //设置打印内容
                                                                                                                                                                        {
                                                                                                                                                                          var F,PDF;
                                                                                                                                                                          //获取打印机列表
                                                                                                                                                                          if (AType == "GetPrintList")
                                                                                                                                                                          {
                                                                                                                                                                            UgComboBoxPrintList.Items.CommaText = AContent;
                                                                                                                                                                            if (UgComboBoxPrintList.Items.Count != 0)
                                                                                                                                                                            UgComboBoxPrintList.ItemIndex = 0;
                                                                                                                                                                            UgFlying.PrinterName = UgComboBoxPrintList.Items.Strings[1];
                                                                                                                                                                            UgTimer01.Enabled = True;
                                                                                                                                                                          }
                                                                                                                                                                          //获取打印的文件URL
                                                                                                                                                                          else if (AType == "GetFileUrl")
                                                                                                                                                                          {
                                                                                                                                                                            //打开窗口W-EQ-MOD-2118-2
                                                                                                                                                                             F =  UGMM.GetWebSubForm("W-EQ-MOD-2118-2");
                                                                                                                                                                             F.Caption = UGMM.LT("PDF查看");
                                                                                                                                                                             PDF = TUgURLFrame(TUgWebForm(F).RunFrame.FindComponent("UgURLFrame"));
                                                                                                                                                                             //显示PDF
                                                                                                                                                                             PDF.URL = AContent;
                                                                                                                                                                             if (F.ShowModal == mrOK) 
                                                                                                                                                                             {
                                                                                                                                                                             }
                                                                                                                                                                             UGMM.DelWebSubForm("W-EQ-MOD-2118-2");
                                                                                                                                                                           }
                                                                                                                                                                          else if (AType == "Error"){
                                                                                                                                                                            ShowSweetAlert(atError,UGMM.LT("提示"),AContent);
                                                                                                                                                                          }
                                                                                                                                                                        }
                                                                                                                                                                        
                                                                                                                                                                        1
                                                                                                                                                                        2
                                                                                                                                                                        3
                                                                                                                                                                        4
                                                                                                                                                                        5
                                                                                                                                                                        6
                                                                                                                                                                        7
                                                                                                                                                                        8
                                                                                                                                                                        9
                                                                                                                                                                        10
                                                                                                                                                                        11
                                                                                                                                                                        12
                                                                                                                                                                        13
                                                                                                                                                                        14
                                                                                                                                                                        15
                                                                                                                                                                        16
                                                                                                                                                                        17
                                                                                                                                                                        18
                                                                                                                                                                        19
                                                                                                                                                                        20
                                                                                                                                                                        21
                                                                                                                                                                        22
                                                                                                                                                                        23
                                                                                                                                                                        24
                                                                                                                                                                        25
                                                                                                                                                                        26
                                                                                                                                                                        27
                                                                                                                                                                        28
                                                                                                                                                                        29
                                                                                                                                                                        30
                                                                                                                                                                        31
                                                                                                                                                                        32
                                                                                                                                                                        //PasScript
                                                                                                                                                                        procedure UgFlyingOnReceived(asender: tobject;atype: string;acontent: string);
                                                                                                                                                                        //设置打印内容
                                                                                                                                                                        var
                                                                                                                                                                          F: TUniForm;
                                                                                                                                                                          PDF: TUgURLFrame;
                                                                                                                                                                        begin
                                                                                                                                                                          //获取打印机列表
                                                                                                                                                                          if AType='GetPrintList' then
                                                                                                                                                                          begin
                                                                                                                                                                            UgComboBoxPrintList.Items.CommaText := AContent;
                                                                                                                                                                            if UgComboBoxPrintList.Items.Count <> 0  Then
                                                                                                                                                                            UgComboBoxPrintList.ItemIndex := 0;
                                                                                                                                                                            UgFlying.PrinterName := UgComboBoxPrintList.Items.Strings[1];
                                                                                                                                                                            UgTimer01.Enabled := True;
                                                                                                                                                                          end
                                                                                                                                                                          //获取打印的文件URL
                                                                                                                                                                          else if AType='GetFileUrl' then
                                                                                                                                                                          begin
                                                                                                                                                                            //打开窗口PDF浏览
                                                                                                                                                                             F :=  UGMM.GetWebSubForm('W-EQ-MOD-2118-1');
                                                                                                                                                                             F.Caption := UGMM.LT('PDF查看');
                                                                                                                                                                             PDF := TUgURLFrame(TUgWebForm(F).RunFrame.FindComponent('UgURLFrame'));
                                                                                                                                                                             //显示PDF
                                                                                                                                                                             PDF.URL := AContent;
                                                                                                                                                                             if F.ShowModal = mrOK then 
                                                                                                                                                                             Begin
                                                                                                                                                                             End;
                                                                                                                                                                             //关闭
                                                                                                                                                                             UGMM.DelWebSubForm('W-EQ-MOD-2118-1');
                                                                                                                                                                          end
                                                                                                                                                                          else if AType='Error' then
                                                                                                                                                                            ShowSweetAlert(atError,UGMM.LT('提示'),AContent);
                                                                                                                                                                        end;
                                                                                                                                                                        
                                                                                                                                                                        1
                                                                                                                                                                        2
                                                                                                                                                                        3
                                                                                                                                                                        4
                                                                                                                                                                        5
                                                                                                                                                                        6
                                                                                                                                                                        7
                                                                                                                                                                        8
                                                                                                                                                                        9
                                                                                                                                                                        10
                                                                                                                                                                        11
                                                                                                                                                                        12
                                                                                                                                                                        13
                                                                                                                                                                        14
                                                                                                                                                                        15
                                                                                                                                                                        16
                                                                                                                                                                        17
                                                                                                                                                                        18
                                                                                                                                                                        19
                                                                                                                                                                        20
                                                                                                                                                                        21
                                                                                                                                                                        22
                                                                                                                                                                        23
                                                                                                                                                                        24
                                                                                                                                                                        25
                                                                                                                                                                        26
                                                                                                                                                                        27
                                                                                                                                                                        28
                                                                                                                                                                        29
                                                                                                                                                                        30
                                                                                                                                                                        31
                                                                                                                                                                        32
                                                                                                                                                                        33
                                                                                                                                                                        34
                                                                                                                                                                        // Make sure to add code blocks to your code group
                                                                                                                                                                        • UgSweetAlertCloseOnConfirm:UgSweetAlertClose的OnConfirm事件,点击以关闭窗口页面。
                                                                                                                                                                          //JScript
                                                                                                                                                                          function UgSweetAlertCloseOnConfirm(sender)
                                                                                                                                                                          //关闭窗口
                                                                                                                                                                          {
                                                                                                                                                                            var p = Self.Parent;
                                                                                                                                                                            if (p is TUgWebForm)
                                                                                                                                                                            {
                                                                                                                                                                              TUgWebForm(p).Close;
                                                                                                                                                                            }
                                                                                                                                                                            if (p is TUniTabSheet)
                                                                                                                                                                              UniSession.AddJS("document.getElementById(\"" + TUniTabSheet(p).jsid + "_tab-closeEl\").click();");
                                                                                                                                                                          }
                                                                                                                                                                          
                                                                                                                                                                          1
                                                                                                                                                                          2
                                                                                                                                                                          3
                                                                                                                                                                          4
                                                                                                                                                                          5
                                                                                                                                                                          6
                                                                                                                                                                          7
                                                                                                                                                                          8
                                                                                                                                                                          9
                                                                                                                                                                          10
                                                                                                                                                                          11
                                                                                                                                                                          12
                                                                                                                                                                          //PasScript
                                                                                                                                                                          procedure UgSweetAlertCloseOnConfirm(sender: tobject);
                                                                                                                                                                          //关闭窗口
                                                                                                                                                                          Var
                                                                                                                                                                            p:TComponent;
                                                                                                                                                                          Begin
                                                                                                                                                                            p:=Self.Parent;
                                                                                                                                                                            if p is TUgWebForm then
                                                                                                                                                                            Begin
                                                                                                                                                                              TUgWebForm(p).Close;
                                                                                                                                                                            End;
                                                                                                                                                                            if p is TUniTabSheet then
                                                                                                                                                                              UniSession.AddJS('document.getElementById("' + TUniTabSheet(p).jsid + '_tab-closeEl").click();');
                                                                                                                                                                          End;
                                                                                                                                                                          
                                                                                                                                                                          1
                                                                                                                                                                          2
                                                                                                                                                                          3
                                                                                                                                                                          4
                                                                                                                                                                          5
                                                                                                                                                                          6
                                                                                                                                                                          7
                                                                                                                                                                          8
                                                                                                                                                                          9
                                                                                                                                                                          10
                                                                                                                                                                          11
                                                                                                                                                                          12
                                                                                                                                                                          13
                                                                                                                                                                          14
                                                                                                                                                                          // Make sure to add code blocks to your code group

                                                                                                                                                                          # 3.2.5. 多语言设置

                                                                                                                                                                            点击FastWeb低代码开发平台菜单导航项中的系统管理-翻译-词条维护。

                                                                                                                                                                          # 3.2.6. 报表设置

                                                                                                                                                                            FastWeb中使用两种方式来引入报表。

                                                                                                                                                                          • 窗体引入

                                                                                                                                                                            在初始化的程序中引入下述程序可在页面中实现打印格式设计的引入。

                                                                                                                                                                            UGMM.AddReport(btnPrintMenu,//报表功能附加到哪个按钮下,名称为对应的控件名称,此处仅为示例,实际使用修改为你使用的名称,比如UgMenuButton01
                                                                                                                                                                                           UGMM.ReportDesignPermission(Self),//报表设计权限【动态模块:当前登陆用户等于模块开发者时】
                                                                                                                                                                                           self.Guid);
                                                                                                                                                                          
                                                                                                                                                                          1
                                                                                                                                                                          2
                                                                                                                                                                          3

                                                                                                                                                                            在运行界面可以看到打印菜单,点击按钮右侧的下拉箭头会有额外选项,点击报表设计器来打开报表设计器管理界面。

                                                                                                                                                                            首先点击右侧的报表数据按钮,打开报表数据及选择的界面,将需要引用的报表数据集dts0、dts1、dtsFCustID、dtsCompany双击。

                                                                                                                                                                            在弹出的编辑界面中填写相应的标题名称,点击下侧的刷新按钮加载数据集。加载完成后,点击确定。

                                                                                                                                                                            返回报表管理器页面后点击添加按钮,打开新的报表设计器页面进行报表的设计制作。制作完成并保存后,在后续的引用中在打印按钮右侧的下拉框选择创建的报表执行打印预览。

                                                                                                                                                                          • Flying引入

                                                                                                                                                                            单据支持Flying引入,实例中已经介绍过程序中的使用方式,在Flying服务端需要引入打印格式进行设计。

                                                                                                                                                                            打开Flying服务端,点击打印设置-HTTP打印,检查设置是否与客户端的保持一致,点击应用保存设置。

                                                                                                                                                                            点击打印设置-报表设计按钮,在右侧的报表列表中右键单击,选择新建报表。

                                                                                                                                                                            在对话框中输入报表的名称,此处输入Sal_Order,然后点击OK按钮。

                                                                                                                                                                            在列表中选择刚才创建的报表项,右键点击,在选项中选择数据构造,打开数据构造界面。首先设定好连接设置,点击连接按钮。

                                                                                                                                                                            待连接按钮变成灰色后,在SQL中输入使用的数据集的SQL程序。

                                                                                                                                                                          --dts0
                                                                                                                                                                          select TOP 1 a.*,b.FCustName as FCustFullName,
                                                                                                                                                                          b.FAddress,b.FPhone1,
                                                                                                                                                                          b.FHousebank,b.FHouseBnkAct 
                                                                                                                                                                          from Sal_Order a(NOLOCK) 
                                                                                                                                                                          LEFT JOIN Basic_Cust B ON 
                                                                                                                                                                          A.FCustID = B.FInterID   
                                                                                                                                                                          
                                                                                                                                                                          
                                                                                                                                                                          --dts1
                                                                                                                                                                          SELECT TOP 1 * FROM Sal_OrderEntry
                                                                                                                                                                          
                                                                                                                                                                          --dtsCompany
                                                                                                                                                                          SELECT TOP 1 * FROM Basic_Company
                                                                                                                                                                          
                                                                                                                                                                          1
                                                                                                                                                                          2
                                                                                                                                                                          3
                                                                                                                                                                          4
                                                                                                                                                                          5
                                                                                                                                                                          6
                                                                                                                                                                          7
                                                                                                                                                                          8
                                                                                                                                                                          9
                                                                                                                                                                          10
                                                                                                                                                                          11
                                                                                                                                                                          12
                                                                                                                                                                          13
                                                                                                                                                                          14

                                                                                                                                                                            输入完成后,点击执行SQL,等待下方的编辑框中出现字段信息后,点击应用返回至上一界面,在界面中点击保存数据。

                                                                                                                                                                            在报表设计界面中双击Sal_Order,打开报表设计界面进行设计。

                                                                                                                                                                            设计完成后,FastWeb端可直接使用指定的设置执行打印设置操作。

                                                                                                                                                                          # 3.2.7. 运行效果

                                                                                                                                                                          # 3.3. 图表-销售订单排名分析

                                                                                                                                                                            点击菜单导航栏中的模块列表(WEB),在打开的模块列表中点击添加按钮,添加标题为销售订单排名分析的模块,添加的内容样式如下,主要填写组别、编号、标题、开发用户等内容,使用PasScript的用户编号请填写为 W-EQ-MOD-2136-1,使用JScript的用户编号请填写 W-EQ-MOD-2136-2。填写完成后,点击保存按钮。

                                                                                                                                                                            选择刚才创建的标题为销售订单排名分析的模块,点击上方的模块设计按钮,进入模块设计界面。

                                                                                                                                                                            销售订单排名分析的页面设置如下图。

                                                                                                                                                                          # 3.3.1. 功能简述

                                                                                                                                                                            此窗口用于显示销售订单金额的排名信息,并使用图表的方式来设置显示相关信息。

                                                                                                                                                                          # 3.3.2. 窗体设置

                                                                                                                                                                          属性 取值 说明
                                                                                                                                                                          Height 800 主窗体的高度(像素)
                                                                                                                                                                          Width 1200 主窗体的宽度(像素)

                                                                                                                                                                          # 3.3.3. 控件设置

                                                                                                                                                                          • 控件说明

                                                                                                                                                                            修改控件设置时注意TUgPanel类型的控件需要清除Caption属性中原有的字符内容。

                                                                                                                                                                          控件名称 控件类型 说明
                                                                                                                                                                          UgContainerPanel01 TUgContainerPanel 布局控件,用于放置查询条件相关的控件,在窗口中置于顶部
                                                                                                                                                                          Align:alTop
                                                                                                                                                                          Height:44
                                                                                                                                                                          dtpBegin TUgDateTimePicker 订单的起始日期
                                                                                                                                                                          DateTime:2021-01-01
                                                                                                                                                                          FieldLabel:订单日期
                                                                                                                                                                          FieldLabelWidth:60
                                                                                                                                                                          Height:22
                                                                                                                                                                          Width:200
                                                                                                                                                                          dtpEnd TUgDateTimePicker 订单的结束日期
                                                                                                                                                                          DateTime:2021-01-31
                                                                                                                                                                          FieldLabel:到
                                                                                                                                                                          FieldLabelWidth:60
                                                                                                                                                                          Height:22
                                                                                                                                                                          Width:200
                                                                                                                                                                          btnQuery TUgBitBtn 查询按钮
                                                                                                                                                                          Caption:查询
                                                                                                                                                                          cbChartType TUgComboBox 复选框,用于选择图表类型
                                                                                                                                                                          dts1 TUgRFDataSet 显示数据集信息
                                                                                                                                                                          SQL:
                                                                                                                                                                          select
                                                                                                                                                                          a.FCustName,sum(IsNull(b.FAuxQty,0)) as FAuxQty
                                                                                                                                                                          from SAL_Order a(NOLOCK)
                                                                                                                                                                          inner join SAL_OrderEntry b(NOLOCK) on a.FInterID = b.FInterID
                                                                                                                                                                          Where a.FStatus = 2
                                                                                                                                                                          group by a.FCustName
                                                                                                                                                                          Order by sum(IsNull(b.FAuxQty,0)) desc
                                                                                                                                                                          ds1 TugDataSource 数据源
                                                                                                                                                                          DataSource:dts1
                                                                                                                                                                          UgDBGrid01 TUgDBGrid 设置显示数量
                                                                                                                                                                          Align:alLeft
                                                                                                                                                                          Width:305
                                                                                                                                                                          DataSource:ds1
                                                                                                                                                                          UgSplitter01 TUgSplitter 分隔线
                                                                                                                                                                          Align:alLeft
                                                                                                                                                                          Width:15
                                                                                                                                                                          UgEChart01 TUgEChart EChart图表显示
                                                                                                                                                                          Align:alClient
                                                                                                                                                                          dts2 TUgRFDataSet 显示数据集信息
                                                                                                                                                                          SQL:
                                                                                                                                                                          select top 10
                                                                                                                                                                          a.FCustName,sum(IsNull(b.FAuxQty,0)) as FAuxQty
                                                                                                                                                                          from SAL_Order a(NOLOCK)
                                                                                                                                                                          inner join SAL_OrderEntry b(NOLOCK) on a.FInterID = b.FInterID
                                                                                                                                                                          Where a.FStatus = 2
                                                                                                                                                                          group by a.FCustName
                                                                                                                                                                          Order by sum(IsNull(b.FAuxQty,0)) desc
                                                                                                                                                                          • UgDBGrid01字段设置

                                                                                                                                                                            选择并双击UgDBGrid01控件,打开字段编辑器,根据下图显示的内容进行编辑。点击左上角的+或者-进行新增行或删除行操作。双击FieldName或者Caption可修改对应行的字段名称或者显示标题内容。ReadOnly用于设置字段是否为可读属性。

                                                                                                                                                                          # 3.3.4. 程序设计

                                                                                                                                                                            在初始设置程序时,使用JScript用户需勾选pub_js_tarslink单元,使用PasScript的用户请勾选pub_pas_tarslink与单元。

                                                                                                                                                                          • 初始设置:设置显示数据集的初始化内容。当前模块无需初始化。

                                                                                                                                                                          • GetSQL:获取SQL查询相关的信息。

                                                                                                                                                                            //JScript
                                                                                                                                                                            function GetSQL()
                                                                                                                                                                            {
                                                                                                                                                                              dts1.Close;
                                                                                                                                                                              dts2.Close;
                                                                                                                                                                              dts1.Conditions.Disable;
                                                                                                                                                                              dts1.Conditions.Clear;
                                                                                                                                                                              dts1.Conditions.Add("FDate1","a.FDate >= '" + DateTimeToStr(dtpBegin.DateTime) + "'",True);
                                                                                                                                                                              dts1.Conditions.Add("FDate2","a.FDate <= '" + DateTimeToStr(dtpEnd.DateTime) + "'",True);
                                                                                                                                                                              dts1.Conditions.Enable;
                                                                                                                                                                              dts1.Open;
                                                                                                                                                                              
                                                                                                                                                                              dts2.Conditions.Disable;
                                                                                                                                                                              dts2.Conditions.Clear;
                                                                                                                                                                              dts2.Conditions.Add("FDate1","a.FDate >= '" + DateTimeToStr(dtpBegin.DateTime) + "'",True);
                                                                                                                                                                              dts2.Conditions.Add("FDate2","a.FDate <= '" + DateTimeToStr(dtpEnd.DateTime) + "'",True);
                                                                                                                                                                              dts2.Conditions.Enable;
                                                                                                                                                                              dts2.Open;
                                                                                                                                                                            }
                                                                                                                                                                            
                                                                                                                                                                            1
                                                                                                                                                                            2
                                                                                                                                                                            3
                                                                                                                                                                            4
                                                                                                                                                                            5
                                                                                                                                                                            6
                                                                                                                                                                            7
                                                                                                                                                                            8
                                                                                                                                                                            9
                                                                                                                                                                            10
                                                                                                                                                                            11
                                                                                                                                                                            12
                                                                                                                                                                            13
                                                                                                                                                                            14
                                                                                                                                                                            15
                                                                                                                                                                            16
                                                                                                                                                                            17
                                                                                                                                                                            18
                                                                                                                                                                            19
                                                                                                                                                                            //PasScript
                                                                                                                                                                            procedure GetSQL;
                                                                                                                                                                            Begin
                                                                                                                                                                              dts1.Close;
                                                                                                                                                                              dts2.Close;
                                                                                                                                                                              dts1.Conditions.Disable;
                                                                                                                                                                              dts1.Conditions.Clear;
                                                                                                                                                                              dts1.Conditions.Add('FDate1','a.FDate >= ''' + DateTimeToStr(dtpBegin.DateTime) + '''',True);
                                                                                                                                                                              dts1.Conditions.Add('FDate2','a.FDate <= ''' + DateTimeToStr(dtpEnd.DateTime) + '''',True);
                                                                                                                                                                              dts1.Conditions.Enable;
                                                                                                                                                                              dts1.Open;
                                                                                                                                                                              
                                                                                                                                                                              dts2.Conditions.Disable;
                                                                                                                                                                              dts2.Conditions.Clear;
                                                                                                                                                                              dts2.Conditions.Add('FDate1','a.FDate >= ''' + DateTimeToStr(dtpBegin.DateTime) + '''',True);
                                                                                                                                                                              dts2.Conditions.Add('FDate2','a.FDate <= ''' + DateTimeToStr(dtpEnd.DateTime) + '''',True);
                                                                                                                                                                              dts2.Conditions.Enable;
                                                                                                                                                                              dts2.Open;
                                                                                                                                                                            End;
                                                                                                                                                                            
                                                                                                                                                                            1
                                                                                                                                                                            2
                                                                                                                                                                            3
                                                                                                                                                                            4
                                                                                                                                                                            5
                                                                                                                                                                            6
                                                                                                                                                                            7
                                                                                                                                                                            8
                                                                                                                                                                            9
                                                                                                                                                                            10
                                                                                                                                                                            11
                                                                                                                                                                            12
                                                                                                                                                                            13
                                                                                                                                                                            14
                                                                                                                                                                            15
                                                                                                                                                                            16
                                                                                                                                                                            17
                                                                                                                                                                            18
                                                                                                                                                                            19
                                                                                                                                                                            // Make sure to add code blocks to your code group
                                                                                                                                                                            • GetEChartBar:设置获取柱状图。
                                                                                                                                                                              //JScript
                                                                                                                                                                              function GetEChartBar()
                                                                                                                                                                              //设置条形图
                                                                                                                                                                              {
                                                                                                                                                                                var vOption;
                                                                                                                                                                                if (dts2.IsEmpty)
                                                                                                                                                                                {
                                                                                                                                                                                  ShowMessage(UGMM.LT("当前选择的时间范围内无数据!"));
                                                                                                                                                                                  return;
                                                                                                                                                                                  //Exit;
                                                                                                                                                                                }
                                                                                                                                                                                vOption = "option = {title: {text: '" + UGMM.LT("销售订单排名") + "',textStyle:{fontSize: 32},subtext: '',left: 'center'},"
                                                                                                                                                                              	    + "backgroundColor:\"#ffffff\","
                                                                                                                                                                              	    + "tooltip: {trigger: 'axis',axisPointer: { type: 'shadow' }},"
                                                                                                                                                                              	    + "grid: {top:\"40\",left: '3%',right: '4%',bottom: '3%',containLabel: true},"
                                                                                                                                                                              	    + "xAxis: [{type: 'category',axisTick:{show:false},data: [";
                                                                                                                                                                                dts2.First;
                                                                                                                                                                                while (!dts2.Eof)
                                                                                                                                                                                {
                                                                                                                                                                                  vOption = vOption + "'" + dts2.FieldByName("FCustName").AsString + "',";
                                                                                                                                                                                  dts2.Next;
                                                                                                                                                                                }
                                                                                                                                                                                  vOption = copy(vOption, 1, Length(vOption)-1);
                                                                                                                                                                                  
                                                                                                                                                                                
                                                                                                                                                                                 vOption = vOption + "]}],"; 
                                                                                                                                                                                 vOption = vOption + "yAxis: [{type: 'value',axisLine:{show:false},axisTick:{show:false},axisLabel: {show:false,formatter: '{value}'},splitLine: {show:false,}}],"
                                                                                                                                                                              	   + "series: [{type: 'bar',label: {show: true,position: 'top',textStyle: {color: '#000000',},},"
                                                                                                                                                                              	   + "itemStyle: {normal: {color: function(params) {var colorList = ["
                                                                                                                                                                                   + "'#7711AF', '#CF77FF', '#AE004F', '#F35872', '#FA7729','#FFC526', '#F8E71C', '#34ADAE', '#3DDFD2', '#A0FFFF'];"
                                                                                                                                                                                   + "var colorListr = ['#0f4471','#00adb5','#ff5722','#5628b4','#20BF55','#f23557','#118df0','#11cbd7','#d3327b','#ae318a','#993090','#6f3071'];"
                                                                                                                                                                                   + "return colorListr[params.dataIndex]},label: {show: true,position: 'top',formatter: '" + UGMM.LT("数量") + ":{c}',fontSize:14},shadowBlur: 10,shadowColor: 'rgba(40, 40, 40, 0.3)',}"
                                                                                                                                                                                   + "},data: [";
                                                                                                                                                                                 
                                                                                                                                                                                 dts2.First;
                                                                                                                                                                                while (!dts2.Eof)
                                                                                                                                                                                {
                                                                                                                                                                                  vOption = vOption + dts2.FieldByName("FAuxQty").AsString + ",";
                                                                                                                                                                                  dts2.Next;
                                                                                                                                                                                }
                                                                                                                                                                                vOption = copy(vOption, 1, Length(vOption)-1);
                                                                                                                                                                                vOption = vOption + "]}]};";
                                                                                                                                                                                dts2.First;
                                                                                                                                                                                UgEChart01.Options.Text = vOption;
                                                                                                                                                                              }
                                                                                                                                                                              
                                                                                                                                                                              1
                                                                                                                                                                              2
                                                                                                                                                                              3
                                                                                                                                                                              4
                                                                                                                                                                              5
                                                                                                                                                                              6
                                                                                                                                                                              7
                                                                                                                                                                              8
                                                                                                                                                                              9
                                                                                                                                                                              10
                                                                                                                                                                              11
                                                                                                                                                                              12
                                                                                                                                                                              13
                                                                                                                                                                              14
                                                                                                                                                                              15
                                                                                                                                                                              16
                                                                                                                                                                              17
                                                                                                                                                                              18
                                                                                                                                                                              19
                                                                                                                                                                              20
                                                                                                                                                                              21
                                                                                                                                                                              22
                                                                                                                                                                              23
                                                                                                                                                                              24
                                                                                                                                                                              25
                                                                                                                                                                              26
                                                                                                                                                                              27
                                                                                                                                                                              28
                                                                                                                                                                              29
                                                                                                                                                                              30
                                                                                                                                                                              31
                                                                                                                                                                              32
                                                                                                                                                                              33
                                                                                                                                                                              34
                                                                                                                                                                              35
                                                                                                                                                                              36
                                                                                                                                                                              37
                                                                                                                                                                              38
                                                                                                                                                                              39
                                                                                                                                                                              40
                                                                                                                                                                              41
                                                                                                                                                                              42
                                                                                                                                                                              43
                                                                                                                                                                              44
                                                                                                                                                                              45
                                                                                                                                                                              //PasScript
                                                                                                                                                                              Procedure GetEChartBar;
                                                                                                                                                                              //设置条形图
                                                                                                                                                                              Var
                                                                                                                                                                                vOption: String;
                                                                                                                                                                              Begin
                                                                                                                                                                                if dts2.IsEmpty Then
                                                                                                                                                                                Begin
                                                                                                                                                                                  ShowMessage(UGMM.LT('当前选择的时间范围内无数据!'));
                                                                                                                                                                                  Exit;
                                                                                                                                                                                End;
                                                                                                                                                                                vOption := 'option = {title: {text: ''' + UGMM.LT('销售订单排名') + ''',textStyle:{fontSize: 32},subtext: '''',left: ''center''},'
                                                                                                                                                                              	    + 'backgroundColor:"#ffffff",'
                                                                                                                                                                              	    + 'tooltip: {trigger: ''axis'',axisPointer: { type: ''shadow'' }},'
                                                                                                                                                                              	    + 'grid: {top:"40",left: ''3%'',right: ''4%'',bottom: ''3%'',containLabel: true},'
                                                                                                                                                                              	    + 'xAxis: [{type: ''category'',axisTick:{show:false},data: [';
                                                                                                                                                                                dts2.First;
                                                                                                                                                                                while not dts2.Eof Do
                                                                                                                                                                                Begin
                                                                                                                                                                                  vOption := vOption + '''' + dts2.FieldByName('FCustName').AsString + ''',';
                                                                                                                                                                                  dts2.Next;
                                                                                                                                                                                End;
                                                                                                                                                                                  vOption := copy(vOption, 1, Length(vOption)-1);
                                                                                                                                                                                  
                                                                                                                                                                                
                                                                                                                                                                                 vOption := vOption + ']}],'; 
                                                                                                                                                                                 vOption := vOption + 'yAxis: [{type: ''value'',axisLine:{show:false},axisTick:{show:false},axisLabel: {show:false,formatter: ''{value}''},splitLine: {show:false,}}],'
                                                                                                                                                                              	   + 'series: [{type: ''bar'',label: {show: true,position: ''top'',textStyle: {color: ''#000000'',},},'
                                                                                                                                                                              	   + 'itemStyle: {normal: {color: function(params) {var colorList = ['
                                                                                                                                                                                   + '''#7711AF'', ''#CF77FF'', ''#AE004F'', ''#F35872'', ''#FA7729'',''#FFC526'', ''#F8E71C'', ''#34ADAE'', ''#3DDFD2'', ''#A0FFFF''];'
                                                                                                                                                                                   + 'var colorListr = [''#0f4471'',''#00adb5'',''#ff5722'',''#5628b4'',''#20BF55'',''#f23557'',''#118df0'',''#11cbd7'',''#d3327b'',''#ae318a'',''#993090'',''#6f3071''];'
                                                                                                                                                                                   + 'return colorListr[params.dataIndex]},label: {show: true,position: ''top'',formatter: ''' + UGMM.LT('数量') + ':{c}'',fontSize:14},shadowBlur: 10,shadowColor: ''rgba(40, 40, 40, 0.3)'',}'
                                                                                                                                                                                   + '},data: [';
                                                                                                                                                                                 
                                                                                                                                                                                 dts2.First;
                                                                                                                                                                                while not dts2.Eof Do
                                                                                                                                                                                Begin 
                                                                                                                                                                                  vOption := vOption + dts2.FieldByName('FAuxQty').AsString + ',';
                                                                                                                                                                                  dts2.Next;
                                                                                                                                                                                End;
                                                                                                                                                                                vOption := copy(vOption, 1, Length(vOption)-1);
                                                                                                                                                                                vOption := vOption + ']}]};';
                                                                                                                                                                                dts2.First;
                                                                                                                                                                                UgEChart01.Options.Text := vOption;
                                                                                                                                                                              End;
                                                                                                                                                                              
                                                                                                                                                                              1
                                                                                                                                                                              2
                                                                                                                                                                              3
                                                                                                                                                                              4
                                                                                                                                                                              5
                                                                                                                                                                              6
                                                                                                                                                                              7
                                                                                                                                                                              8
                                                                                                                                                                              9
                                                                                                                                                                              10
                                                                                                                                                                              11
                                                                                                                                                                              12
                                                                                                                                                                              13
                                                                                                                                                                              14
                                                                                                                                                                              15
                                                                                                                                                                              16
                                                                                                                                                                              17
                                                                                                                                                                              18
                                                                                                                                                                              19
                                                                                                                                                                              20
                                                                                                                                                                              21
                                                                                                                                                                              22
                                                                                                                                                                              23
                                                                                                                                                                              24
                                                                                                                                                                              25
                                                                                                                                                                              26
                                                                                                                                                                              27
                                                                                                                                                                              28
                                                                                                                                                                              29
                                                                                                                                                                              30
                                                                                                                                                                              31
                                                                                                                                                                              32
                                                                                                                                                                              33
                                                                                                                                                                              34
                                                                                                                                                                              35
                                                                                                                                                                              36
                                                                                                                                                                              37
                                                                                                                                                                              38
                                                                                                                                                                              39
                                                                                                                                                                              40
                                                                                                                                                                              41
                                                                                                                                                                              42
                                                                                                                                                                              43
                                                                                                                                                                              44
                                                                                                                                                                              45
                                                                                                                                                                              // Make sure to add code blocks to your code group
                                                                                                                                                                              • GetEChartLine:设置获取折线图。
                                                                                                                                                                                //JScript
                                                                                                                                                                                function GetEChartLine()
                                                                                                                                                                                //折线图
                                                                                                                                                                                {
                                                                                                                                                                                  var vOption;
                                                                                                                                                                                  if (dts2.IsEmpty)
                                                                                                                                                                                  {
                                                                                                                                                                                    ShowMessage(UGMM.LT("当前选择的时间范围内无数据!"));
                                                                                                                                                                                    return;
                                                                                                                                                                                    //Exit;
                                                                                                                                                                                  }
                                                                                                                                                                                  vOption = "option = {title: {text: '" + UGMM.LT("销售订单排名") + "',textStyle:{fontSize: 32},subtext: '',left: 'center'},"
                                                                                                                                                                                	    + "backgroundColor:\"#ffffff\","
                                                                                                                                                                                	    + "tooltip: {trigger: 'axis',axisPointer: { type: 'shadow' }},"
                                                                                                                                                                                	    + "grid: {top:\"40\",left: '3%',right: '4%',bottom: '3%',containLabel: true},"
                                                                                                                                                                                	    + "xAxis: [{type: 'category',axisTick:{show:false},data: [";
                                                                                                                                                                                  dts2.First;
                                                                                                                                                                                  while (!dts2.Eof)
                                                                                                                                                                                  {
                                                                                                                                                                                    vOption = vOption + "'" + dts2.FieldByName("FCustName").AsString + "',";
                                                                                                                                                                                    dts2.Next;
                                                                                                                                                                                  }
                                                                                                                                                                                    vOption = copy(vOption, 1, Length(vOption)-1);
                                                                                                                                                                                   vOption = vOption + "]}],"; 
                                                                                                                                                                                   vOption = vOption + "yAxis: [{type: 'value',axisLine:{show:false},axisTick:{show:false},axisLabel: {show:false,formatter: '{value}'},splitLine: {show:false,}}],"
                                                                                                                                                                                	   + "series: [{type: 'line',smooth: 'true',label: {show: true,position: 'top',textStyle: {color: '#000000',},},"
                                                                                                                                                                                	   + "itemStyle: {normal: {color: function(params) {var colorList = ["
                                                                                                                                                                                       + "'#7711AF', '#CF77FF', '#AE004F', '#F35872', '#FA7729','#FFC526', '#F8E71C', '#34ADAE', '#3DDFD2', '#A0FFFF'];"
                                                                                                                                                                                     + "var colorListr = ['#0f4471','#00adb5','#ff5722','#5628b4','#20BF55','#f23557','#118df0','#11cbd7','#d3327b','#ae318a','#993090','#6f3071'];"
                                                                                                                                                                                     + "return colorListr[params.dataIndex]},label: {show: true,position: 'top',formatter: '',fontSize:14},shadowBlur: 10,shadowColor: 'rgba(40, 40, 40, 0.3)',}"
                                                                                                                                                                                     + "},areaStyle: {normal: {color: 'rgba(0,70,209,0.5)',shadowColor: 'rgba(53,142,215, 0.9)', shadowBlur: 20}},data: [";
                                                                                                                                                                                   
                                                                                                                                                                                   dts2.First;
                                                                                                                                                                                  while (!dts2.Eof)
                                                                                                                                                                                  {
                                                                                                                                                                                    vOption = vOption + dts2.FieldByName("FAuxQty").AsString + ",";
                                                                                                                                                                                    dts2.Next;
                                                                                                                                                                                  }
                                                                                                                                                                                  vOption = copy(vOption, 1, Length(vOption)-1);
                                                                                                                                                                                  vOption = vOption + "]}]};";
                                                                                                                                                                                  dts2.First;
                                                                                                                                                                                  UgEChart01.Options.Text = vOption;
                                                                                                                                                                                }
                                                                                                                                                                                
                                                                                                                                                                                1
                                                                                                                                                                                2
                                                                                                                                                                                3
                                                                                                                                                                                4
                                                                                                                                                                                5
                                                                                                                                                                                6
                                                                                                                                                                                7
                                                                                                                                                                                8
                                                                                                                                                                                9
                                                                                                                                                                                10
                                                                                                                                                                                11
                                                                                                                                                                                12
                                                                                                                                                                                13
                                                                                                                                                                                14
                                                                                                                                                                                15
                                                                                                                                                                                16
                                                                                                                                                                                17
                                                                                                                                                                                18
                                                                                                                                                                                19
                                                                                                                                                                                20
                                                                                                                                                                                21
                                                                                                                                                                                22
                                                                                                                                                                                23
                                                                                                                                                                                24
                                                                                                                                                                                25
                                                                                                                                                                                26
                                                                                                                                                                                27
                                                                                                                                                                                28
                                                                                                                                                                                29
                                                                                                                                                                                30
                                                                                                                                                                                31
                                                                                                                                                                                32
                                                                                                                                                                                33
                                                                                                                                                                                34
                                                                                                                                                                                35
                                                                                                                                                                                36
                                                                                                                                                                                37
                                                                                                                                                                                38
                                                                                                                                                                                39
                                                                                                                                                                                40
                                                                                                                                                                                41
                                                                                                                                                                                42
                                                                                                                                                                                43
                                                                                                                                                                                //PasScript
                                                                                                                                                                                procedure GetEChartLine;
                                                                                                                                                                                //折线图
                                                                                                                                                                                Var
                                                                                                                                                                                  vOption: String;
                                                                                                                                                                                Begin
                                                                                                                                                                                  if dts2.IsEmpty Then
                                                                                                                                                                                  Begin
                                                                                                                                                                                    ShowMessage(UGMM.LT('当前选择的时间范围内无数据!'));
                                                                                                                                                                                    Exit;
                                                                                                                                                                                  End;
                                                                                                                                                                                  vOption := 'option = {title: {text: ''' + UGMM.LT('销售订单排名') + ''',textStyle:{fontSize: 32},subtext: '''',left: ''center''},'
                                                                                                                                                                                	    + 'backgroundColor:"#ffffff",'
                                                                                                                                                                                	    + 'tooltip: {trigger: ''axis'',axisPointer: { type: ''shadow'' }},'
                                                                                                                                                                                	    + 'grid: {top:"40",left: ''3%'',right: ''4%'',bottom: ''3%'',containLabel: true},'
                                                                                                                                                                                	    + 'xAxis: [{type: ''category'',axisTick:{show:false},data: [';
                                                                                                                                                                                  dts2.First;
                                                                                                                                                                                  while not dts2.Eof Do
                                                                                                                                                                                  Begin
                                                                                                                                                                                    vOption := vOption + '''' + dts2.FieldByName('FCustName').AsString + ''',';
                                                                                                                                                                                    dts2.Next;
                                                                                                                                                                                  End;
                                                                                                                                                                                    vOption := copy(vOption, 1, Length(vOption)-1);
                                                                                                                                                                                   vOption := vOption + ']}],'; 
                                                                                                                                                                                   vOption := vOption + 'yAxis: [{type: ''value'',axisLine:{show:false},axisTick:{show:false},axisLabel: {show:false,formatter: ''{value}''},splitLine: {show:false,}}],'
                                                                                                                                                                                	   + 'series: [{type: ''line'',smooth: ''true'',label: {show: true,position: ''top'',textStyle: {color: ''#000000'',},},'
                                                                                                                                                                                	   + 'itemStyle: {normal: {color: function(params) {var colorList = ['
                                                                                                                                                                                     + '''#7711AF'', ''#CF77FF'', ''#AE004F'', ''#F35872'', ''#FA7729'',''#FFC526'', ''#F8E71C'', ''#34ADAE'', ''#3DDFD2'', ''#A0FFFF''];'
                                                                                                                                                                                     + 'var colorListr = [''#0f4471'',''#00adb5'',''#ff5722'',''#5628b4'',''#20BF55'',''#f23557'',''#118df0'',''#11cbd7'',''#d3327b'',''#ae318a'',''#993090'',''#6f3071''];'
                                                                                                                                                                                     + 'return colorListr[params.dataIndex]},label: {show: true,position: ''top'',formatter: '''',fontSize:14},shadowBlur: 10,shadowColor: ''rgba(40, 40, 40, 0.3)'',}'
                                                                                                                                                                                     + '},areaStyle: {normal: {color: ''rgba(0,70,209,0.5)'',shadowColor: ''rgba(53,142,215, 0.9)'', shadowBlur: 20}},data: [';
                                                                                                                                                                                   
                                                                                                                                                                                   dts2.First;
                                                                                                                                                                                  while not dts2.Eof Do
                                                                                                                                                                                  Begin 
                                                                                                                                                                                    vOption := vOption + dts2.FieldByName('FAuxQty').AsString + ',';
                                                                                                                                                                                    dts2.Next;
                                                                                                                                                                                  End;
                                                                                                                                                                                  vOption := copy(vOption, 1, Length(vOption)-1);
                                                                                                                                                                                  vOption := vOption + ']}]};';
                                                                                                                                                                                  dts2.First;
                                                                                                                                                                                  UgEChart01.Options.Text := vOption;
                                                                                                                                                                                End;
                                                                                                                                                                                
                                                                                                                                                                                1
                                                                                                                                                                                2
                                                                                                                                                                                3
                                                                                                                                                                                4
                                                                                                                                                                                5
                                                                                                                                                                                6
                                                                                                                                                                                7
                                                                                                                                                                                8
                                                                                                                                                                                9
                                                                                                                                                                                10
                                                                                                                                                                                11
                                                                                                                                                                                12
                                                                                                                                                                                13
                                                                                                                                                                                14
                                                                                                                                                                                15
                                                                                                                                                                                16
                                                                                                                                                                                17
                                                                                                                                                                                18
                                                                                                                                                                                19
                                                                                                                                                                                20
                                                                                                                                                                                21
                                                                                                                                                                                22
                                                                                                                                                                                23
                                                                                                                                                                                24
                                                                                                                                                                                25
                                                                                                                                                                                26
                                                                                                                                                                                27
                                                                                                                                                                                28
                                                                                                                                                                                29
                                                                                                                                                                                30
                                                                                                                                                                                31
                                                                                                                                                                                32
                                                                                                                                                                                33
                                                                                                                                                                                34
                                                                                                                                                                                35
                                                                                                                                                                                36
                                                                                                                                                                                37
                                                                                                                                                                                38
                                                                                                                                                                                39
                                                                                                                                                                                40
                                                                                                                                                                                41
                                                                                                                                                                                42
                                                                                                                                                                                43
                                                                                                                                                                                // Make sure to add code blocks to your code group
                                                                                                                                                                                • GetEChartPie:设置获取EChart饼图。
                                                                                                                                                                                  //JScript
                                                                                                                                                                                  function GetEChartPie()
                                                                                                                                                                                  //饼图
                                                                                                                                                                                  {
                                                                                                                                                                                    var vOption;
                                                                                                                                                                                    if (dts2.IsEmpty)
                                                                                                                                                                                    {
                                                                                                                                                                                      ShowMessage(UGMM.LT("当前选择的时间范围内无数据!"));
                                                                                                                                                                                      return;
                                                                                                                                                                                      //Exit;
                                                                                                                                                                                    }
                                                                                                                                                                                    vOption = "option = {title: {text: '" + UGMM.LT("销售订单排名") + "',textStyle:{fontSize: 32},subtext: '',left: 'center'},"
                                                                                                                                                                                    +  "tooltip: {trigger: 'item',formatter: '{a} <br/>{b} : {c} ({d}%)'},"
                                                                                                                                                                                    +  "legend: {orient: 'vertical',left: 'right',"
                                                                                                                                                                                    +  "data: [";
                                                                                                                                                                                    dts2.First;
                                                                                                                                                                                    while (!dts2.Eof)
                                                                                                                                                                                    {
                                                                                                                                                                                      vOption = vOption + "'" + dts2.FieldByName("FCustName").AsString + "',";
                                                                                                                                                                                      dts2.Next;
                                                                                                                                                                                    }
                                                                                                                                                                                      vOption = copy(vOption, 1, Length(vOption)-1);
                                                                                                                                                                                      vOption = vOption + "]}," 
                                                                                                                                                                                     	+ "series: [{name: '" + UGMM.LT("数量") + "',type: 'pie',center: ['50%', '60%'],data: [";
                                                                                                                                                                                     	dts2.First; 
                                                                                                                                                                                    while (!dts2.Eof)
                                                                                                                                                                                    {
                                                                                                                                                                                      vOption = vOption + "{value: " + dts2.FieldByName("FAuxQty").AsString + ",name:'" + dts2.FieldByName("FCustName").AsString + "'},";
                                                                                                                                                                                      dts2.Next;
                                                                                                                                                                                    }
                                                                                                                                                                                    vOption = copy(vOption, 1, Length(vOption)-1);
                                                                                                                                                                                    vOption = vOption + "],emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]};";
                                                                                                                                                                                    dts2.First;
                                                                                                                                                                                    UgEChart01.Options.Text = vOption;
                                                                                                                                                                                  }
                                                                                                                                                                                  
                                                                                                                                                                                  1
                                                                                                                                                                                  2
                                                                                                                                                                                  3
                                                                                                                                                                                  4
                                                                                                                                                                                  5
                                                                                                                                                                                  6
                                                                                                                                                                                  7
                                                                                                                                                                                  8
                                                                                                                                                                                  9
                                                                                                                                                                                  10
                                                                                                                                                                                  11
                                                                                                                                                                                  12
                                                                                                                                                                                  13
                                                                                                                                                                                  14
                                                                                                                                                                                  15
                                                                                                                                                                                  16
                                                                                                                                                                                  17
                                                                                                                                                                                  18
                                                                                                                                                                                  19
                                                                                                                                                                                  20
                                                                                                                                                                                  21
                                                                                                                                                                                  22
                                                                                                                                                                                  23
                                                                                                                                                                                  24
                                                                                                                                                                                  25
                                                                                                                                                                                  26
                                                                                                                                                                                  27
                                                                                                                                                                                  28
                                                                                                                                                                                  29
                                                                                                                                                                                  30
                                                                                                                                                                                  31
                                                                                                                                                                                  32
                                                                                                                                                                                  33
                                                                                                                                                                                  34
                                                                                                                                                                                  35
                                                                                                                                                                                  //PasScript
                                                                                                                                                                                  Procedure GetEChartPie;
                                                                                                                                                                                  //饼图
                                                                                                                                                                                  Var
                                                                                                                                                                                    vOption: String;
                                                                                                                                                                                  Begin
                                                                                                                                                                                    if dts2.IsEmpty Then
                                                                                                                                                                                    Begin
                                                                                                                                                                                      ShowMessage(UGMM.LT('当前选择的时间范围内无数据!'));
                                                                                                                                                                                      Exit;
                                                                                                                                                                                    End;
                                                                                                                                                                                    vOption := 'option = {title: {text: ''' + UGMM.LT('销售订单排名') + ''',textStyle:{fontSize: 32},subtext: '''',left: ''center''},'
                                                                                                                                                                                    +  'tooltip: {trigger: ''item'',formatter: ''{a} <br/>{b} : {c} ({d}%)''},'
                                                                                                                                                                                    +  'legend: {orient: ''vertical'',left: ''right'','
                                                                                                                                                                                    +  'data: [';
                                                                                                                                                                                    dts2.First;
                                                                                                                                                                                    while not dts2.Eof Do
                                                                                                                                                                                    Begin
                                                                                                                                                                                      vOption := vOption + '''' + dts2.FieldByName('FCustName').AsString + ''',';
                                                                                                                                                                                      dts2.Next;
                                                                                                                                                                                    End;
                                                                                                                                                                                      vOption := copy(vOption, 1, Length(vOption)-1);
                                                                                                                                                                                      vOption := vOption + ']},' 
                                                                                                                                                                                     	+ 'series: [{name: ''' + UGMM.LT('数量') + ''',type: ''pie'',center: [''50%'', ''60%''],data: [';
                                                                                                                                                                                     	dts2.First; 
                                                                                                                                                                                    while not dts2.Eof Do
                                                                                                                                                                                    Begin 
                                                                                                                                                                                      vOption := vOption + '{value: ' + dts2.FieldByName('FAuxQty').AsString + ',name:''' + dts2.FieldByName('FCustName').AsString + '''},';
                                                                                                                                                                                      dts2.Next;
                                                                                                                                                                                    End;
                                                                                                                                                                                    vOption := copy(vOption, 1, Length(vOption)-1);
                                                                                                                                                                                    vOption := vOption + '],emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: ''rgba(0, 0, 0, 0.5)''}}}]};';
                                                                                                                                                                                    dts2.First;
                                                                                                                                                                                    UgEChart01.Options.Text := vOption;
                                                                                                                                                                                  End;
                                                                                                                                                                                  
                                                                                                                                                                                  1
                                                                                                                                                                                  2
                                                                                                                                                                                  3
                                                                                                                                                                                  4
                                                                                                                                                                                  5
                                                                                                                                                                                  6
                                                                                                                                                                                  7
                                                                                                                                                                                  8
                                                                                                                                                                                  9
                                                                                                                                                                                  10
                                                                                                                                                                                  11
                                                                                                                                                                                  12
                                                                                                                                                                                  13
                                                                                                                                                                                  14
                                                                                                                                                                                  15
                                                                                                                                                                                  16
                                                                                                                                                                                  17
                                                                                                                                                                                  18
                                                                                                                                                                                  19
                                                                                                                                                                                  20
                                                                                                                                                                                  21
                                                                                                                                                                                  22
                                                                                                                                                                                  23
                                                                                                                                                                                  24
                                                                                                                                                                                  25
                                                                                                                                                                                  26
                                                                                                                                                                                  27
                                                                                                                                                                                  28
                                                                                                                                                                                  29
                                                                                                                                                                                  30
                                                                                                                                                                                  31
                                                                                                                                                                                  32
                                                                                                                                                                                  33
                                                                                                                                                                                  34
                                                                                                                                                                                  35
                                                                                                                                                                                  // Make sure to add code blocks to your code group
                                                                                                                                                                                  • UgWebRunFrameOnAfterRunScript:UgWebRunFrame的OnAfterRunScript事件,设置初始显示的内容。
                                                                                                                                                                                    //JScript
                                                                                                                                                                                    function UgWebRunFrameOnAfterRunScript(sender)
                                                                                                                                                                                    {
                                                                                                                                                                                      dts1.Connection = GetRFERP;
                                                                                                                                                                                      dts2.Connection = GetRFERP;
                                                                                                                                                                                      GetSQL;
                                                                                                                                                                                      GetEChartBar;
                                                                                                                                                                                      UGMM.LC(Self);
                                                                                                                                                                                      cbChartType.Items.CommaText = UGMM.LT("柱状图,折线图,饼图");
                                                                                                                                                                                      cbChartType.ItemIndex = 0;
                                                                                                                                                                                    }
                                                                                                                                                                                    
                                                                                                                                                                                    1
                                                                                                                                                                                    2
                                                                                                                                                                                    3
                                                                                                                                                                                    4
                                                                                                                                                                                    5
                                                                                                                                                                                    6
                                                                                                                                                                                    7
                                                                                                                                                                                    8
                                                                                                                                                                                    9
                                                                                                                                                                                    10
                                                                                                                                                                                    11
                                                                                                                                                                                    //PasScript
                                                                                                                                                                                    procedure UgWebRunFrameOnAfterRunScript(const sender: tobject);
                                                                                                                                                                                    begin
                                                                                                                                                                                      dts1.Connection := GetRFERP;
                                                                                                                                                                                      dts2.Connection := GetRFERP;
                                                                                                                                                                                      GetSQL;
                                                                                                                                                                                      GetEChartBar;
                                                                                                                                                                                      UGMM.LC(Self);
                                                                                                                                                                                      cbChartType.Items.CommaText := UGMM.LT('柱状图,折线图,饼图');
                                                                                                                                                                                      cbChartType.ItemIndex := 0;
                                                                                                                                                                                    end;
                                                                                                                                                                                    
                                                                                                                                                                                    1
                                                                                                                                                                                    2
                                                                                                                                                                                    3
                                                                                                                                                                                    4
                                                                                                                                                                                    5
                                                                                                                                                                                    6
                                                                                                                                                                                    7
                                                                                                                                                                                    8
                                                                                                                                                                                    9
                                                                                                                                                                                    10
                                                                                                                                                                                    11
                                                                                                                                                                                    // Make sure to add code blocks to your code group
                                                                                                                                                                                    • btnQueryOnClick:btnQuery的OnClick事件,设置刷新查询内容。
                                                                                                                                                                                      //JScript
                                                                                                                                                                                      function btnQueryOnClick(sender)
                                                                                                                                                                                      {
                                                                                                                                                                                        GetSQL;
                                                                                                                                                                                        cbChartTypeOnChange(sender);
                                                                                                                                                                                      }
                                                                                                                                                                                      
                                                                                                                                                                                      1
                                                                                                                                                                                      2
                                                                                                                                                                                      3
                                                                                                                                                                                      4
                                                                                                                                                                                      5
                                                                                                                                                                                      6
                                                                                                                                                                                      //PasScript
                                                                                                                                                                                      procedure btnQueryOnClick(sender: tobject);
                                                                                                                                                                                      begin
                                                                                                                                                                                        GetSQL;
                                                                                                                                                                                        cbChartTypeOnChange(sender);
                                                                                                                                                                                      end;
                                                                                                                                                                                      
                                                                                                                                                                                      1
                                                                                                                                                                                      2
                                                                                                                                                                                      3
                                                                                                                                                                                      4
                                                                                                                                                                                      5
                                                                                                                                                                                      6
                                                                                                                                                                                      // Make sure to add code blocks to your code group
                                                                                                                                                                                      • cbEChartTypeOnChange:cbEChartType的OnChange事件,点击切换不同的图表类型显示。
                                                                                                                                                                                        //JScript
                                                                                                                                                                                        function cbChartTypeOnChange(sender)
                                                                                                                                                                                        {
                                                                                                                                                                                          if (cbChartType.ItemIndex == 0)
                                                                                                                                                                                            GetEChartBar;
                                                                                                                                                                                          if (cbChartType.ItemIndex == 1)
                                                                                                                                                                                            GetEChartLine;
                                                                                                                                                                                          if (cbChartType.ItemIndex == 2)
                                                                                                                                                                                            GetEChartPie;
                                                                                                                                                                                        }
                                                                                                                                                                                        
                                                                                                                                                                                        
                                                                                                                                                                                        1
                                                                                                                                                                                        2
                                                                                                                                                                                        3
                                                                                                                                                                                        4
                                                                                                                                                                                        5
                                                                                                                                                                                        6
                                                                                                                                                                                        7
                                                                                                                                                                                        8
                                                                                                                                                                                        9
                                                                                                                                                                                        10
                                                                                                                                                                                        11
                                                                                                                                                                                        //PasScript
                                                                                                                                                                                        procedure cbChartTypeOnChange(sender: tobject);
                                                                                                                                                                                        begin
                                                                                                                                                                                          if cbChartType.ItemIndex = 0 Then
                                                                                                                                                                                            GetEChartBar;
                                                                                                                                                                                          if cbChartType.ItemIndex = 1 Then
                                                                                                                                                                                            GetEChartLine;
                                                                                                                                                                                          if cbChartType.ItemIndex = 2 Then
                                                                                                                                                                                            GetEChartPie;
                                                                                                                                                                                        end;
                                                                                                                                                                                        
                                                                                                                                                                                        1
                                                                                                                                                                                        2
                                                                                                                                                                                        3
                                                                                                                                                                                        4
                                                                                                                                                                                        5
                                                                                                                                                                                        6
                                                                                                                                                                                        7
                                                                                                                                                                                        8
                                                                                                                                                                                        9
                                                                                                                                                                                        10
                                                                                                                                                                                        // Make sure to add code blocks to your code group

                                                                                                                                                                                        # 3.3.5. 多语言设置

                                                                                                                                                                                          点击FastWeb低代码开发平台菜单导航项中的系统管理-翻译-词条维护。

                                                                                                                                                                                          收集此页面窗口中所有需要进行翻译的词条(包括程序中设置的多语言项目),点击添加按钮,根据提示填写维护。

                                                                                                                                                                                        # 3.3.6. 运行效果

                                                                                                                                                                                        # 4. 导入窗体

                                                                                                                                                                                        # 4.1. 导入布种资料-多笔数据表单

                                                                                                                                                                                          点击菜单导航栏中的模块列表(WEB),在打开的模块列表中点击添加按钮,添加标题为导入布种资料的模块,添加的内容样式如下,主要填写组别、编号、标题、开发用户等内容,使用PasScript的用户编号请填写为 W-EQ-MOD-2125-1,使用JScript的用户编号请填写 W-EQ-MOD-2125-2。填写完成后,点击保存按钮。

                                                                                                                                                                                          选择刚才创建的标题为导入布种资料的模块,点击上方的模块设计按钮,进入模块设计界面。

                                                                                                                                                                                          导入布种资料的页面设置如下图。

                                                                                                                                                                                        # 4.1.1. 功能简述

                                                                                                                                                                                          此导入窗口页面显示布种资料的相关信息,该页面涉及到主从表的设计相关的信息以及选择按钮点击后的数据传递方式的设计说明。

                                                                                                                                                                                        # 4.1.2. 窗体设置

                                                                                                                                                                                        属性 取值 说明
                                                                                                                                                                                        Height 600 主窗体的高度(像素)
                                                                                                                                                                                        Width 800 主窗体的宽度(像素)

                                                                                                                                                                                        # 4.1.3. 控件设置

                                                                                                                                                                                        • 控件说明
                                                                                                                                                                                        控件名称 控件类型 说明
                                                                                                                                                                                        UgContainerPanel01 TUgContainerPanel 容器面板控件,用于放置查询内容,按钮控件
                                                                                                                                                                                        Align:alTop
                                                                                                                                                                                        edQuery TUgEdit 用于输入查询条件
                                                                                                                                                                                        EmptyText:输入布种代码或名称
                                                                                                                                                                                        FieldLabel:布种代码或名称
                                                                                                                                                                                        FieldLabelAlign:laTop
                                                                                                                                                                                        btnSelect TUgButton 选择按钮
                                                                                                                                                                                        Caption:选择
                                                                                                                                                                                        btnQuery TUgButton 查询按钮
                                                                                                                                                                                        Caption:查询
                                                                                                                                                                                        btnClear TUgButton 清除按钮
                                                                                                                                                                                        Caption:清除
                                                                                                                                                                                        UgVerticalLine01 TUgVerticalLine 布局按钮,用于区隔不同功能类型的按钮
                                                                                                                                                                                        btnRefresh TUgButton 刷新按钮
                                                                                                                                                                                        Caption:刷新
                                                                                                                                                                                        btnShowAll TUgButton 显示全部按钮
                                                                                                                                                                                        Caption:显示全部
                                                                                                                                                                                        btnExit TUgButton 退出按钮
                                                                                                                                                                                        Caption:退出
                                                                                                                                                                                        UgRFDataSet01 TUgRFDataSet 布种数据集
                                                                                                                                                                                        UgDataSource01 TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为UgRFDataSet01
                                                                                                                                                                                        UgRFDataSet02 TUgRFDataSet 布种分组数据集
                                                                                                                                                                                        UgDataSource02 TUgDataSource 数据源控件,用于对接数据感知控件,其DataSet属性设置为UgRFDataSet02
                                                                                                                                                                                        UgDBTreeGrid01 TUgDBTreeGrid 树形表格数据集
                                                                                                                                                                                        Align:alLeft
                                                                                                                                                                                        DataSource:UgDataSource02
                                                                                                                                                                                        IdField:FTreeKeyID
                                                                                                                                                                                        IdParentField:FTreeParentID
                                                                                                                                                                                        UgDBGrid01 TUgDBGrid 表格数据集
                                                                                                                                                                                        Align:alClient
                                                                                                                                                                                        DataSource:UgDataSource01
                                                                                                                                                                                        Option.dgRowSelect:True
                                                                                                                                                                                        Option.dgCheckSelect:True
                                                                                                                                                                                        dgMultiSelect:True
                                                                                                                                                                                        • UgDBTreeGrid01字段设置

                                                                                                                                                                                          选择并双击UgDBTreeGrid01控件,打开字段编辑器,根据下图显示的内容进行编辑。点击左上角的+或者-进行新增行或删除行操作。双击FieldName或者Caption可修改对应行的字段名称或者显示标题内容。ReadOnly用于设置字段是否为可读属性。

                                                                                                                                                                                        • UgDBGrid01字段设置

                                                                                                                                                                                          选择并双击UgDBGrid01控件,打开字段编辑器,根据下图显示的内容进行编辑。点击左上角的+或者-进行新增行或删除行操作。双击FieldName或者Caption可修改对应行的字段名称或者显示标题内容。ReadOnly用于设置字段是否为可读属性。

                                                                                                                                                                                        # 4.1.4. 程序设计

                                                                                                                                                                                          在初始设置程序时,使用JScript用户需勾选pub_js_tarslink与pub_js_messageinfo单元,使用PasScript的用户请勾选pub_pas_tarslink与pub_pas_messageinfo单元。

                                                                                                                                                                                        • 初始设置:设置显示数据集的初始化内容。(仅限PasScript)
                                                                                                                                                                                        Begin
                                                                                                                                                                                          //数据集初始化
                                                                                                                                                                                          UgRFDataSet01.Connection := GetRFERP;
                                                                                                                                                                                          UgRFDataSet02.Connection := GetRFERP;
                                                                                                                                                                                          UgRFDataSet02.Close;
                                                                                                                                                                                          UgRFDataSet02.SQL.Text := 'Select * From Basic_ItemGroup WHERE FTypeID = 1';
                                                                                                                                                                                          UgRFDataSet02.Open;
                                                                                                                                                                                          UgRFDataSet02.First;
                                                                                                                                                                                          UgRFDataSet01.Close;
                                                                                                                                                                                          UgRFDataSet01.SQL.Text := 'SELECT * FROM Basic_Item  WHERE FTypeID = 1';
                                                                                                                                                                                          UgRFDataSet01.Open;
                                                                                                                                                                                          dtsSelected.Connection := GETRFERP;
                                                                                                                                                                                          dtsSelected.Close;
                                                                                                                                                                                          dtsSelected.SQL.Text := 'SELECT TOP 0 FInterID,FItemCode,FItemName,FItemSpec,FUnitID,FUnitCode,FUnitName'  + 
                                                                                                                                                                                          ' FROM Basic_Item  WHERE FTypeID = 1';
                                                                                                                                                                                          dtsSelected.Open;
                                                                                                                                                                                        End.
                                                                                                                                                                                        
                                                                                                                                                                                        
                                                                                                                                                                                        1
                                                                                                                                                                                        2
                                                                                                                                                                                        3
                                                                                                                                                                                        4
                                                                                                                                                                                        5
                                                                                                                                                                                        6
                                                                                                                                                                                        7
                                                                                                                                                                                        8
                                                                                                                                                                                        9
                                                                                                                                                                                        10
                                                                                                                                                                                        11
                                                                                                                                                                                        12
                                                                                                                                                                                        13
                                                                                                                                                                                        14
                                                                                                                                                                                        15
                                                                                                                                                                                        16
                                                                                                                                                                                        17
                                                                                                                                                                                        18
                                                                                                                                                                                        • UgWebRunFrameOnAfterRunScript:UgWebRunFrame的OnAfterRunScript事件,翻译界面并验证模块权限。
                                                                                                                                                                                          //JScript
                                                                                                                                                                                          function UgWebRunFrameOnAfterRunScript(sender)
                                                                                                                                                                                          {
                                                                                                                                                                                          //翻译界面
                                                                                                                                                                                            UGMM.LC(Self);
                                                                                                                                                                                          //验证模块权限
                                                                                                                                                                                            UGMM.VerifyRunFramePerm(Self);
                                                                                                                                                                                            //数据集初始化
                                                                                                                                                                                            UgRFDataSet01.Connection = GetRFERP;
                                                                                                                                                                                            UgRFDataSet02.Connection = GetRFERP;
                                                                                                                                                                                            UgRFDataSet02.Close;
                                                                                                                                                                                            UgRFDataSet02.SQL.Text = "Select * From Basic_ItemGroup WHERE FTypeID = 1";
                                                                                                                                                                                            UgRFDataSet02.Open;
                                                                                                                                                                                            UgRFDataSet02.First;
                                                                                                                                                                                            UgRFDataSet01.Close;
                                                                                                                                                                                            UgRFDataSet01.SQL.Text = "SELECT * FROM Basic_Item  WHERE FTypeID = 1";
                                                                                                                                                                                            UgRFDataSet01.Open;
                                                                                                                                                                                            dtsSelected.Connection = GETRFERP;
                                                                                                                                                                                            dtsSelected.Close;
                                                                                                                                                                                            dtsSelected.SQL.Text = "SELECT TOP 0 FInterID,FItemCode,FItemName,FItemSpec,FUnitID,FUnitCode,FUnitName"  + 
                                                                                                                                                                                            " FROM Basic_Item  WHERE FTypeID = 1";
                                                                                                                                                                                            dtsSelected.Open;
                                                                                                                                                                                          }
                                                                                                                                                                                          
                                                                                                                                                                                          
                                                                                                                                                                                          1
                                                                                                                                                                                          2
                                                                                                                                                                                          3
                                                                                                                                                                                          4
                                                                                                                                                                                          5
                                                                                                                                                                                          6
                                                                                                                                                                                          7
                                                                                                                                                                                          8
                                                                                                                                                                                          9
                                                                                                                                                                                          10
                                                                                                                                                                                          11
                                                                                                                                                                                          12
                                                                                                                                                                                          13
                                                                                                                                                                                          14
                                                                                                                                                                                          15
                                                                                                                                                                                          16
                                                                                                                                                                                          17
                                                                                                                                                                                          18
                                                                                                                                                                                          19
                                                                                                                                                                                          20
                                                                                                                                                                                          21
                                                                                                                                                                                          22
                                                                                                                                                                                          23
                                                                                                                                                                                          24
                                                                                                                                                                                          //PasScript
                                                                                                                                                                                          procedure UgWebRunFrameOnAfterRunScript(const sender: tobject);
                                                                                                                                                                                          begin
                                                                                                                                                                                          //翻译界面
                                                                                                                                                                                            UGMM.LC(Self);
                                                                                                                                                                                          //验证模块权限
                                                                                                                                                                                            UGMM.VerifyRunFramePerm(Self);
                                                                                                                                                                                          end;
                                                                                                                                                                                          
                                                                                                                                                                                          1
                                                                                                                                                                                          2
                                                                                                                                                                                          3
                                                                                                                                                                                          4
                                                                                                                                                                                          5
                                                                                                                                                                                          6
                                                                                                                                                                                          7
                                                                                                                                                                                          8
                                                                                                                                                                                          // Make sure to add code blocks to your code group
                                                                                                                                                                                          • UgDBTreeGrid01OnCellClick:UgDBTreeGrid01的OnCellClick事件,点击实现分组信息的显示。
                                                                                                                                                                                            //JScript
                                                                                                                                                                                            function UgDBTreeGrid01OnCellClick(column)
                                                                                                                                                                                            //分组信息显示
                                                                                                                                                                                            {
                                                                                                                                                                                            	UgRFDataSet01.Filtered = False;
                                                                                                                                                                                              UgRFDataSet01.Filter = "FGroupID = " + UgRFDataSet02.FieldByName("FInterID").AsString;
                                                                                                                                                                                              UgRFDataSet01.Filtered = True;
                                                                                                                                                                                            }
                                                                                                                                                                                            
                                                                                                                                                                                            1
                                                                                                                                                                                            2
                                                                                                                                                                                            3
                                                                                                                                                                                            4
                                                                                                                                                                                            5
                                                                                                                                                                                            6
                                                                                                                                                                                            7
                                                                                                                                                                                            8
                                                                                                                                                                                            //PasScript
                                                                                                                                                                                            procedure UgDBTreeGrid01OnCellClick(column: tunidbgridcolumn);
                                                                                                                                                                                            //分组信息显示
                                                                                                                                                                                            begin
                                                                                                                                                                                            	UgRFDataSet01.Filtered := False;
                                                                                                                                                                                              UgRFDataSet01.Filter := 'FGroupID = ' + UgRFDataSet02.FieldByName('FInterID').AsString;
                                                                                                                                                                                              UgRFDataSet01.Filtered := True;
                                                                                                                                                                                            end;
                                                                                                                                                                                            
                                                                                                                                                                                            1
                                                                                                                                                                                            2
                                                                                                                                                                                            3
                                                                                                                                                                                            4
                                                                                                                                                                                            5
                                                                                                                                                                                            6
                                                                                                                                                                                            7
                                                                                                                                                                                            8
                                                                                                                                                                                            // Make sure to add code blocks to your code group
                                                                                                                                                                                            • btnQueryOnClick:btnQuery的OnClick事件,点击以使用查询条件执行查询。
                                                                                                                                                                                              //JScript
                                                                                                                                                                                              //查询
                                                                                                                                                                                              function btnQueryOnClick(sender)
                                                                                                                                                                                              {
                                                                                                                                                                                                UgRFDataSet01.SQL.Text = "SELECT * FROM Basic_Item WHERE (FItemCode LIKE  '%" + edQuery.Text + 
                                                                                                                                                                                                "%' or FItemName LIKE '%" + edQuery.Text + "%') AND FTypeID = 1";
                                                                                                                                                                                                UgRFDataSet01.Open;
                                                                                                                                                                                              }
                                                                                                                                                                                              
                                                                                                                                                                                              1
                                                                                                                                                                                              2
                                                                                                                                                                                              3
                                                                                                                                                                                              4
                                                                                                                                                                                              5
                                                                                                                                                                                              6
                                                                                                                                                                                              7
                                                                                                                                                                                              8
                                                                                                                                                                                              //PasScript
                                                                                                                                                                                              //查询
                                                                                                                                                                                              procedure btnQueryOnClick(sender: tobject);
                                                                                                                                                                                              begin
                                                                                                                                                                                                UgRFDataSet01.SQL.Text := 'SELECT * FROM Basic_Item WHERE (FItemCode LIKE  ''%' + edQuery.Text + 
                                                                                                                                                                                                '%'' or FItemName LIKE ''%' + edQuery.Text + '%'') AND FTypeID = 1';
                                                                                                                                                                                                UgRFDataSet01.Open;
                                                                                                                                                                                              end;
                                                                                                                                                                                              
                                                                                                                                                                                              1
                                                                                                                                                                                              2
                                                                                                                                                                                              3
                                                                                                                                                                                              4
                                                                                                                                                                                              5
                                                                                                                                                                                              6
                                                                                                                                                                                              7
                                                                                                                                                                                              8
                                                                                                                                                                                              // Make sure to add code blocks to your code group
                                                                                                                                                                                              • btnClearOnClick:btnClear的OnClick事件,点击以清除查询条件中的内容,恢复初始查询。
                                                                                                                                                                                                //JScript
                                                                                                                                                                                                //清除
                                                                                                                                                                                                function btnClearOnClick(sender)
                                                                                                                                                                                                {
                                                                                                                                                                                                  edQuery.Text = "";
                                                                                                                                                                                                  UgRFDataSet01.SQL.Text = "SELECT * FROM Basic_Item WHERE FTypeID = 1";
                                                                                                                                                                                                  UgRFDataSet01.Open;
                                                                                                                                                                                                }
                                                                                                                                                                                                
                                                                                                                                                                                                1
                                                                                                                                                                                                2
                                                                                                                                                                                                3
                                                                                                                                                                                                4
                                                                                                                                                                                                5
                                                                                                                                                                                                6
                                                                                                                                                                                                7
                                                                                                                                                                                                8
                                                                                                                                                                                                //PasScript
                                                                                                                                                                                                //清除
                                                                                                                                                                                                procedure btnClearOnClick(sender: tobject);
                                                                                                                                                                                                begin
                                                                                                                                                                                                  edQuery.Text := '';
                                                                                                                                                                                                  UgRFDataSet01.SQL.Text := 'SELECT * FROM Basic_Item WHERE FTypeID = 1';
                                                                                                                                                                                                  UgRFDataSet01.Open;
                                                                                                                                                                                                end;
                                                                                                                                                                                                
                                                                                                                                                                                                1
                                                                                                                                                                                                2
                                                                                                                                                                                                3
                                                                                                                                                                                                4
                                                                                                                                                                                                5
                                                                                                                                                                                                6
                                                                                                                                                                                                7
                                                                                                                                                                                                8
                                                                                                                                                                                                // Make sure to add code blocks to your code group
                                                                                                                                                                                                • btnExitOnClick:btnExit的OnClick事件,点击退出窗口。
                                                                                                                                                                                                  //JScript
                                                                                                                                                                                                  //退出窗口
                                                                                                                                                                                                  function btnExitOnClick(sender)
                                                                                                                                                                                                  {
                                                                                                                                                                                                    var p = Self.Parent;
                                                                                                                                                                                                    if (p is TUgWebForm)
                                                                                                                                                                                                    {
                                                                                                                                                                                                      TUgWebForm(p).Close;
                                                                                                                                                                                                    }
                                                                                                                                                                                                    if (p is TUniTabSheet)
                                                                                                                                                                                                      UniSession.AddJS("document.getElementById(\"" + TUniTabSheet(p).jsid + "_tab-closeEl\").click();");
                                                                                                                                                                                                  }
                                                                                                                                                                                                  
                                                                                                                                                                                                  1
                                                                                                                                                                                                  2
                                                                                                                                                                                                  3
                                                                                                                                                                                                  4
                                                                                                                                                                                                  5
                                                                                                                                                                                                  6
                                                                                                                                                                                                  7
                                                                                                                                                                                                  8
                                                                                                                                                                                                  9
                                                                                                                                                                                                  10
                                                                                                                                                                                                  11
                                                                                                                                                                                                  12
                                                                                                                                                                                                  //PasScript
                                                                                                                                                                                                  //退出窗口
                                                                                                                                                                                                  procedure btnExitOnClick(sender: tobject);
                                                                                                                                                                                                  Var
                                                                                                                                                                                                    p:TComponent;
                                                                                                                                                                                                  Begin
                                                                                                                                                                                                    p:=Self.Parent;
                                                                                                                                                                                                    if p is TUgWebForm then
                                                                                                                                                                                                    Begin
                                                                                                                                                                                                      TUgWebForm(p).Close;
                                                                                                                                                                                                    End;
                                                                                                                                                                                                    if p is TUniTabSheet then
                                                                                                                                                                                                      UniSession.AddJS('document.getElementById("' + TUniTabSheet(p).jsid + '_tab-closeEl").click();');
                                                                                                                                                                                                  End;
                                                                                                                                                                                                  
                                                                                                                                                                                                  1
                                                                                                                                                                                                  2
                                                                                                                                                                                                  3
                                                                                                                                                                                                  4
                                                                                                                                                                                                  5
                                                                                                                                                                                                  6
                                                                                                                                                                                                  7
                                                                                                                                                                                                  8
                                                                                                                                                                                                  9
                                                                                                                                                                                                  10
                                                                                                                                                                                                  11
                                                                                                                                                                                                  12
                                                                                                                                                                                                  13
                                                                                                                                                                                                  14
                                                                                                                                                                                                  // Make sure to add code blocks to your code group
                                                                                                                                                                                                  • btnRefreshOnClick:btnRefresh的OnClick事件,点击以刷新页面显示,数据集重新进行设置。
                                                                                                                                                                                                    //JScript
                                                                                                                                                                                                    //刷新页面显示,数据集重新设置
                                                                                                                                                                                                    function btnRefreshOnClick(sender)
                                                                                                                                                                                                    {
                                                                                                                                                                                                      UgRFDataSet01.Connection = GetRFERP;
                                                                                                                                                                                                      UgRFDataSet02.Connection = GetRFERP;
                                                                                                                                                                                                      UgRFDataSet02.Close;
                                                                                                                                                                                                      UgRFDataSet02.SQL.Text = "Select * From Basic_ItemGroup WHERE FTypeID = 1";
                                                                                                                                                                                                      UgRFDataSet02.Open;
                                                                                                                                                                                                      UgRFDataSet02.First;
                                                                                                                                                                                                      UgRFDataSet01.Close;
                                                                                                                                                                                                      UgRFDataSet01.SQL.Text = "SELECT * FROM Basic_Item WHERE FTypeID = 1";
                                                                                                                                                                                                      UgRFDataSet01.Open;
                                                                                                                                                                                                      //UgDBGrid01.Refresh;
                                                                                                                                                                                                    }
                                                                                                                                                                                                    
                                                                                                                                                                                                    1
                                                                                                                                                                                                    2
                                                                                                                                                                                                    3
                                                                                                                                                                                                    4
                                                                                                                                                                                                    5
                                                                                                                                                                                                    6
                                                                                                                                                                                                    7
                                                                                                                                                                                                    8
                                                                                                                                                                                                    9
                                                                                                                                                                                                    10
                                                                                                                                                                                                    11
                                                                                                                                                                                                    12
                                                                                                                                                                                                    13
                                                                                                                                                                                                    14
                                                                                                                                                                                                    15
                                                                                                                                                                                                    //PasScript
                                                                                                                                                                                                    //刷新页面显示,数据集重新设置
                                                                                                                                                                                                    procedure btnRefreshOnClick(sender: tobject);
                                                                                                                                                                                                    begin
                                                                                                                                                                                                      UgRFDataSet01.Connection := GetRFERP;
                                                                                                                                                                                                      UgRFDataSet02.Connection := GetRFERP;
                                                                                                                                                                                                      UgRFDataSet02.Close;
                                                                                                                                                                                                      UgRFDataSet02.SQL.Text := 'Select * From Basic_ItemGroup WHERE FTypeID = 1';
                                                                                                                                                                                                      UgRFDataSet02.Open;
                                                                                                                                                                                                      UgRFDataSet02.First;
                                                                                                                                                                                                      UgRFDataSet01.Close;
                                                                                                                                                                                                      UgRFDataSet01.SQL.Text := 'SELECT * FROM Basic_Item WHERE FTypeID = 1';
                                                                                                                                                                                                      UgRFDataSet01.Open;
                                                                                                                                                                                                      //UgDBGrid01.Refresh;
                                                                                                                                                                                                    end;
                                                                                                                                                                                                    
                                                                                                                                                                                                    1
                                                                                                                                                                                                    2
                                                                                                                                                                                                    3
                                                                                                                                                                                                    4
                                                                                                                                                                                                    5
                                                                                                                                                                                                    6
                                                                                                                                                                                                    7
                                                                                                                                                                                                    8
                                                                                                                                                                                                    9
                                                                                                                                                                                                    10
                                                                                                                                                                                                    11
                                                                                                                                                                                                    12
                                                                                                                                                                                                    13
                                                                                                                                                                                                    14
                                                                                                                                                                                                    15
                                                                                                                                                                                                    // Make sure to add code blocks to your code group
                                                                                                                                                                                                    • btnShowAllOnClick:btnShowAll的OnClick事件,点击以显示全部。
                                                                                                                                                                                                      //JScript
                                                                                                                                                                                                      //显示全部
                                                                                                                                                                                                      function btnShowAllOnClick(sender)
                                                                                                                                                                                                      {
                                                                                                                                                                                                      	UgRFDataSet01.Filtered = False;
                                                                                                                                                                                                      }
                                                                                                                                                                                                      
                                                                                                                                                                                                      1
                                                                                                                                                                                                      2
                                                                                                                                                                                                      3
                                                                                                                                                                                                      4
                                                                                                                                                                                                      5
                                                                                                                                                                                                      6
                                                                                                                                                                                                      //PasScript
                                                                                                                                                                                                      //显示全部
                                                                                                                                                                                                      procedure btnShowAllOnClick(sender: tobject);
                                                                                                                                                                                                      begin
                                                                                                                                                                                                      	UgRFDataSet01.Filtered := False;
                                                                                                                                                                                                      end;
                                                                                                                                                                                                      
                                                                                                                                                                                                      1
                                                                                                                                                                                                      2
                                                                                                                                                                                                      3
                                                                                                                                                                                                      4
                                                                                                                                                                                                      5
                                                                                                                                                                                                      6
                                                                                                                                                                                                      // Make sure to add code blocks to your code group
                                                                                                                                                                                                      • btnSelectOnClick:btnSelect的OnClick事件,点击选择确认要返回的项目,在主窗口获取此数据集信息。
                                                                                                                                                                                                        //JScript
                                                                                                                                                                                                        function btnSelectOnClick(sender)
                                                                                                                                                                                                        //确认要返回的项目,在主窗口获取此数据集信息
                                                                                                                                                                                                        {
                                                                                                                                                                                                          var i;
                                                                                                                                                                                                          if (UgRFDataSet01.IsEmpty)
                                                                                                                                                                                                            return;
                                                                                                                                                                                                            //Exit;
                                                                                                                                                                                                          dtsSelected.Close;
                                                                                                                                                                                                          dtsSelected.Open;
                                                                                                                                                                                                          //依次选择打勾的项目,将数据字段存入选择的对象中。
                                                                                                                                                                                                          for (i = 0; i<= UgDBGrid01.SelectedRows.count - 1; i++)
                                                                                                                                                                                                          {
                                                                                                                                                                                                            UgRFDataSet01.Bookmark = UgDBGrid01.selectedRows[i];
                                                                                                                                                                                                            dtsSelected.Append;
                                                                                                                                                                                                            dtsSelected.FieldByName("FInterID").AsString = UgRFDataSet01.FieldByName("FInterID").AsString;
                                                                                                                                                                                                            dtsSelected.FieldByName("FItemCode").AsString = UgRFDataSet01.FieldByName("FItemCode").AsString;
                                                                                                                                                                                                            dtsSelected.FieldByName("FItemName").AsString = UgRFDataSet01.FieldByName("FItemName").AsString;
                                                                                                                                                                                                            dtsSelected.FieldByName("FItemSpec").AsString = UgRFDataSet01.FieldByName("FItemSpec").AsString;
                                                                                                                                                                                                            dtsSelected.FieldByName("FUnitID").AsString = UgRFDataSet01.FieldByName("FUnitID").AsString;
                                                                                                                                                                                                            dtsSelected.FieldByName("FUnitCode").AsString = UgRFDataSet01.FieldByName("FUnitCode").AsString;
                                                                                                                                                                                                            dtsSelected.FieldByName("FUnitName").AsString = UgRFDataSet01.FieldByName("FUnitName").AsString;
                                                                                                                                                                                                            dtsSelected.Post;
                                                                                                                                                                                                          }
                                                                                                                                                                                                          //关闭窗口时返回状态信息
                                                                                                                                                                                                          TUgWebForm(self.Parent).ModalResult = mrOK;
                                                                                                                                                                                                        }
                                                                                                                                                                                                        
                                                                                                                                                                                                        1
                                                                                                                                                                                                        2
                                                                                                                                                                                                        3
                                                                                                                                                                                                        4
                                                                                                                                                                                                        5
                                                                                                                                                                                                        6
                                                                                                                                                                                                        7
                                                                                                                                                                                                        8
                                                                                                                                                                                                        9
                                                                                                                                                                                                        10
                                                                                                                                                                                                        11
                                                                                                                                                                                                        12
                                                                                                                                                                                                        13
                                                                                                                                                                                                        14
                                                                                                                                                                                                        15
                                                                                                                                                                                                        16
                                                                                                                                                                                                        17
                                                                                                                                                                                                        18
                                                                                                                                                                                                        19
                                                                                                                                                                                                        20
                                                                                                                                                                                                        21
                                                                                                                                                                                                        22
                                                                                                                                                                                                        23
                                                                                                                                                                                                        24
                                                                                                                                                                                                        25
                                                                                                                                                                                                        26
                                                                                                                                                                                                        27
                                                                                                                                                                                                        //PasScript
                                                                                                                                                                                                        procedure btnSelectOnClick(sender: tobject);
                                                                                                                                                                                                        //确认要返回的项目,在主窗口获取此数据集信息
                                                                                                                                                                                                        Var
                                                                                                                                                                                                          i: Integer;
                                                                                                                                                                                                        begin
                                                                                                                                                                                                          if UgRFDataSet01.IsEmpty then
                                                                                                                                                                                                          Exit;
                                                                                                                                                                                                          dtsSelected.Close;
                                                                                                                                                                                                          dtsSelected.Open;
                                                                                                                                                                                                          //依次选择打勾的项目,将数据字段存入选择的对象中。
                                                                                                                                                                                                          for i := 0 to UgDBGrid01.SelectedRows.count - 1 do
                                                                                                                                                                                                          begin 
                                                                                                                                                                                                            UgRFDataSet01.Bookmark := UgDBGrid01.selectedRows[i];
                                                                                                                                                                                                            dtsSelected.Append;
                                                                                                                                                                                                            dtsSelected.FieldByName('FInterID').AsString := UgRFDataSet01.FieldByName('FInterID').AsString;
                                                                                                                                                                                                            dtsSelected.FieldByName('FItemCode').AsString := UgRFDataSet01.FieldByName('FItemCode').AsString;
                                                                                                                                                                                                            dtsSelected.FieldByName('FItemName').AsString := UgRFDataSet01.FieldByName('FItemName').AsString;
                                                                                                                                                                                                            dtsSelected.FieldByName('FItemSpec').AsString := UgRFDataSet01.FieldByName('FItemSpec').AsString;
                                                                                                                                                                                                            dtsSelected.FieldByName('FUnitID').AsString := UgRFDataSet01.FieldByName('FUnitID').AsString;
                                                                                                                                                                                                            dtsSelected.FieldByName('FUnitCode').AsString := UgRFDataSet01.FieldByName('FUnitCode').AsString;
                                                                                                                                                                                                            dtsSelected.FieldByName('FUnitName').AsString := UgRFDataSet01.FieldByName('FUnitName').AsString;
                                                                                                                                                                                                            dtsSelected.Post;
                                                                                                                                                                                                          End;
                                                                                                                                                                                                          //关闭窗口时返回状态信息
                                                                                                                                                                                                          TUgWebForm(self.Parent).ModalResult := mrOK;
                                                                                                                                                                                                        end;
                                                                                                                                                                                                        
                                                                                                                                                                                                        1
                                                                                                                                                                                                        2
                                                                                                                                                                                                        3
                                                                                                                                                                                                        4
                                                                                                                                                                                                        5
                                                                                                                                                                                                        6
                                                                                                                                                                                                        7
                                                                                                                                                                                                        8
                                                                                                                                                                                                        9
                                                                                                                                                                                                        10
                                                                                                                                                                                                        11
                                                                                                                                                                                                        12
                                                                                                                                                                                                        13
                                                                                                                                                                                                        14
                                                                                                                                                                                                        15
                                                                                                                                                                                                        16
                                                                                                                                                                                                        17
                                                                                                                                                                                                        18
                                                                                                                                                                                                        19
                                                                                                                                                                                                        20
                                                                                                                                                                                                        21
                                                                                                                                                                                                        22
                                                                                                                                                                                                        23
                                                                                                                                                                                                        24
                                                                                                                                                                                                        25
                                                                                                                                                                                                        26
                                                                                                                                                                                                        27
                                                                                                                                                                                                        // Make sure to add code blocks to your code group

                                                                                                                                                                                                        # 4.1.5. 多语言设置

                                                                                                                                                                                                          点击FastWeb低代码开发平台菜单导航项中的系统管理-翻译-词条维护。

                                                                                                                                                                                                          收集此页面窗口中所有需要进行翻译的词条(包括程序中设置的多语言项目),点击添加按钮,根据提示填写维护。

                                                                                                                                                                                                        # 4.1.6. 运行效果

                                                                                                                                                                                                        # 4.2. PDF查看

                                                                                                                                                                                                          点击菜单导航栏中的模块列表(WEB),在打开的模块列表中点击添加按钮,添加标题为PDFPreview的模块,添加的内容样式如下,主要填写组别、标题、开发用户三项内容,填写完成后,点击保存按钮。

                                                                                                                                                                                                          选择刚才创建的标题为PDFPreview的模块,点击上方的模块设计按钮,进入模块设计界面。

                                                                                                                                                                                                          PDF查看的页面设置如下图。

                                                                                                                                                                                                        # 4.2.1. 功能简述

                                                                                                                                                                                                          此页面不能单独运行,需要由其他窗口调用并传递PDF的相关参数才可以正常运行。

                                                                                                                                                                                                        # 4.2.2. 窗体设置

                                                                                                                                                                                                        属性 取值 说明
                                                                                                                                                                                                        Height 600 主窗体的高度(像素)
                                                                                                                                                                                                        Width 800 主窗体的宽度(像素)

                                                                                                                                                                                                        # 4.2.3. 控件设置

                                                                                                                                                                                                        • 控件说明
                                                                                                                                                                                                        控件名称 控件类型 说明
                                                                                                                                                                                                        UgURLFrame TUgURLFrame 显示打印结果的页面控件,接收的是网页地址
                                                                                                                                                                                                        Align:alClient

                                                                                                                                                                                                        # 4.2.4. 程序设计

                                                                                                                                                                                                          此实例无需设计程序。

                                                                                                                                                                                                        # 4.2.5. 多语言设置

                                                                                                                                                                                                          点击FastWeb低代码开发平台菜单导航项中的系统管理-翻译-词条维护。

                                                                                                                                                                                                          收集此页面窗口中所有需要进行翻译的词条(包括程序中设置的多语言项目),点击添加按钮,根据提示填写维护。

                                                                                                                                                                                                        # 4.2.6. 运行效果

                                                                                                                                                                                                        开发案例
                                                                                                                                                                                                        页面布局

                                                                                                                                                                                                        ← 开发案例 页面布局→

                                                                                                                                                                                                        Copyright © 2021-2025 爱招飞IsoFace | ALL Rights Reserved
                                                                                                                                                                                                        • 跟随系统
                                                                                                                                                                                                        • 浅色模式
                                                                                                                                                                                                        • 深色模式
                                                                                                                                                                                                        • 阅读模式