销售开票单表单保护区代码


/********保护代码要求描述********

    这个区域中的所有的代码主要服务于以下几个目的:
    1、当前表单必须检查或者初始化的内容,也就是说和客户的具体应用没有什么太大的关系,
       但是如果这些代码写错会导致当前表单的数据出现不完整或者不正确;
    2、属于当前表单的核心逻辑或者核心应用价值,为了防止其他开发商抄袭或者复制;
    3、非常复杂的应用逻辑,凝聚了开发程序的代码智慧的内容,放在不保护区域首先一般的
       程序员很难理解,并且容易修改以后出错的内容;
    任何一个开发应用表单的程序员在编写新的应用表单的时候一定要区分自己写的内容是否
    应该将代码写在这个区域中,并且在一定程度上避免风险的同时又能兼顾可能给客开带来的麻烦
    或者限制;
    注意:任何一个函数或者相对复杂的代码,都要给予相应的中文注释说明,以保证程序代码
          的可读性。
    
********/
//集中提示行校验错误,定义errMsg为对象 2012-07-23 lixd
var verifyDisabled = false ;

var tmpAddress = "";
var managePack = false;
var useMutiOrg = false;
var isSelPass = false;   //提取审核后票单
var isModPass ;//审核后单据是否允许修改
var chkBusiScope = 0;   //检查经营范围
var usePackPrice = false; //启用包装定价
var isLimitSale = false; //检查商品限销
var balChkTime = 0;  //库存占用校验时机
var balChkType = 0;  //库存占用校验方式
var balRegTime = 0;  //库存占用表登记时机
var clientCreditType = 0;  //选客户信贷拦截方式
var billCreditType = 0;    //存盘信贷拦截方式
var creditLevel = 0; //信贷管控层次
var chkCostMode = 0;  //低于成本价校验方式
var chkMinPMode = 0; //低于最低售价校验方式
var autoBatch = false; //确定商品后自动弹出批号方案
var isBeyondNum = "Y"; //是否允许超过来源单据量
var regLackStock = false; //自动登记缺货信息
var autoPrnData = "N"; //创建备货打印数据
var useProm = "N";  //启用批发促销方案
var ds_con; //对方业务员授权数据集合,服务于选商品gsp校验
var useWmsSys =false;    //启用WMS系统
var useWmsData=false;  //准备WMS接口数据
var checkValdate = 0;  // 校验批号的有效期和限销期的关系
var useLotPrice = false;  //使用批号定价
var lotLevel = 0; //批号价格维度 0企业 1货主批号
var isGoodsGroup =0;// 是否启用商品分组
var  useFzhy =false ; //   是否显示服装行业
var iszengpin;//是否赠品
var pass_hjjy=true; //行间运算通过(价格非0检查)
var pass_bofpost=true; //beforePost通过(数量非0检查,价格非0检查等)
var isDdbh=true
var zu = 1;//批量生成单据时使用
var ds_cert;    //客户证照信息集合,服务与选客户后存储供应商证照信息用于商品与单位证照范围拦截
var iscert //商品与单位证照范围拦截,选择商品后校验机构证照范围与有效期
var djwljb="" ; //采购往来账务登记级别,如BCD
//定义判断是否存储哪个数据集
var dshz = ds_ddhz;
var dsmx = ds_ddmx;
/* 此函数主要解决的是表单打开时必须初始化数据集中的值及单据新增、修改状态的区分;*/
function sys_onload(){
    document.onkeydown = function(){formOnKeyDown(event);};
    window.onhelp = function(){return false;}
    toolbar.visibleItem("toolbar.m12", false);
    isDdbh = FormUtil.getSysParam("3oehfvko76vopyrw", "24lpspbx3lrcwp0z", "")=='Y';
    useMutiOrg = form.parameters.advance["2n1dvjm53edo3iej"] == "Y";
    chkBusiScope = form.parameters.advance["5n297up67qv8lwqa"];
    usePackPrice = form.parameters.advance["6ah9x2ay0sue8oip"]=="Y";
    useLotPrice = form.parameters.advance["01pajleubf7777v5"]=="Y";
    lotLevel = FormUtil.getSysParam("3oehfvko76vopyrw", "23tonr7k3hcmrh6g", "");
    isSelPass = form.parameters.advance["68bbh7ra4moki1vt"]=="Y";
    isModPass  = form.parameters.advance["23jesvhi39ny4si2"] ;    
    isLimitSale = form.parameters.advance["2z4esbsx5oq2csj1"]=="Y";
    
    balChkTime = form.parameters.advance["5cy9ulho88k37u52"];
    balChkType = form.parameters.advance["1gl39bgw3exdadee"];
    balRegTime = form.parameters.advance["0ldwwy8kd07piafq"];
    
    clientCreditType = form.parameters.advance["62w991l4225fnn9c"];
    billCreditType = form.parameters.advance["30cl0tah90q98680"];
    creditLevel = form.parameters.advance["4pbvs9h8aa4368ow"];
    chkCostMode = form.parameters.advance["4npjf7g79qtr1kf6"];
    chkMinPMode = form.parameters.advance["4e9logdeaa5r4w33"];
    
    autoBatch = form.parameters.advance["5isj46syb90cdtmn"]=="Y";
    isBeyondNum = form.parameters.advance["06uv8mx1ads72s7m"];
    
    regLackStock = form.parameters.advance["6w7g8pcj8fpyh8ww"]=="Y";
    autoPrnData = form.parameters.advance["5vso72jt163y2sz0"];
    useProm = form.parameters.advance["2pvpyka64b3cldd5"];
    
    iszengpin= form.parameters.advance["11oo98ak26etkeag"];
    useWmsSys= FormUtil.getSysParam("3oehfvko76vopyrw", "37fgpul630x2ssy8", "")=="Y";

    useWmsData = form.parameters.advance["244y7ti77ercy2kw"]=="Y";
    checkValdate = form.parameters.advance["6seddxssd0d65575"];
    isGoodsGroup =form.parameters.advance["0pinoy3v94hd3n9t"];
    
    useFzhy =FormUtil.getSysParam("3oehfvko76vopyrw", "64mudebb1lbi6mg0", "") == "Y";
    iscert = form.parameters.advance["0e1g3xvc12jr9k2x"];
    djwljb = FormUtil.getSysParam("3oehfvko76vopyrw", "5g3s7wbc4my20iia", "");
    
    if ( useFzhy) {
        //显示服装
            ds_ddmx.field("colorname").visible = true;  
            ds_ddmx.field("sizename").visible = true;  
    }else{
            ds_ddmx.field("colorname").visible = false;  
            ds_ddmx.field("sizename").visible = false;  
    }
    
    ds_ddmx.updateGrid();
    if (!Utility.isSpace(form.parameters.billno)) {    
        //通过代办事宜打开,目前单据在线billno为空
        sys_loadBill("workflow");    
        toolbar.visibleItem("toolbar.m12", true);
    } 
    else {
        if (form.parameters.action == "billreview") {
            //单据再现
            FormUtil.enableInputControls(false);
            toolbar.enableItem('save', false);
            toolbar.enableItem('toolbar.m2', false);
            toolbar.enableItem('toolbar.m3', false);
            toolbar.enableItem('toolbar.m4', false);
            toolbar.enableItem('toolbar.m5', false);
            toolbar.enableItem('toolbar.m7', false);
            toolbar.enableItem('toolbar.m10', false);
            toolbar.enableItem('toolbar.m11', false);
            toolbar.enableItem('toolbar.m13', false);
            toolbar.enableItem('toolbar.m14', false);
            toolbar.enableItem('toolbar.m15', false);
            toolbar.enableItem('toolbar.m16', false);
            toolbar.enableItem('toolbar.m6', false);
            toolbar.enableItem('toolbar.m18', false);
            toolbar.enableItem('toolbar.m19', false);
            toolbar.enableItem('toolbar.m20', false);
            toolbar.enableItem('toolbar.m22', false);
            grid1.editable = false;
            grid1.setToolbarStyle('grid1.toolbar0.m1', "disabled:true");
            grid1.setToolbarStyle('grid1.toolbar0.m2', "disabled:true");
            grid1.setToolbarStyle('grid1.toolbar0.m3', "disabled:true");
            grid1.setToolbarStyle('grid1.toolbar0.m7', "disabled:true");    
        }
        else{  
            
            var obja = {};
            obja.currencyID = ["sql_orgCurrencyID", {}];
            obja.currencyName = ["sql_orgCurrencyName", {}];
            var result = DBUtil.batchUniqueValues(obja);
            var currencyID = result.currencyID;
            var currencyName = result.currencyName;    
            if (Utility.isSpace(currencyID)) {
                currencyID = form.userinfo.currencyid;
                currencyName = form.userinfo.currencyname;
            }

            ds_ddhz.field("entid").value = form.userinfo.entid;
            
            pf_setBillDate(ds_ddhz, textbox1, 0);
            
            ds_ddhz.field("deptid").value = form.userinfo.deptid;
            ds_ddhz.field("OrgId").value = form.userinfo.orgid;
            ds_ddhz.field("ownerId").value = form.userinfo.orgid;
            ds_ddhz.field("ownerName").value = form.userinfo.orgname;
            ds_ddhz.field("CurrencyId").value = currencyID;
            ds_ddhz.field("CurrencyName").value = currencyName;
            ds_ddhz.field("caozy").value = form.userinfo.staffid;
            ds_ddhz.field("caozyname").value = form.userinfo.staffname;
            ds_ddhz.field("ruleid").value = form.parameters.idprefix;
            
            pf_formatDeptStyle(ds_ddhz, useMutiOrg, true);
            if (form.userinfo.istally == "Y") {
                ds_ddhz.field("PayOrgId").value = form.userinfo.orgid;
                ds_ddhz.field("PayOrgName").value = form.userinfo.orgname;
            } else if (!Utility.isSpace(form.userinfo.financeorgid)) {
                ds_ddhz.field("PayOrgId").value = form.userinfo.financeorgid;
                ds_ddhz.field("PayOrgName").value = form.userinfo.financeorgname;
            }
            if (form.userinfo.iswh == "Y") {
                    ds_ddhz.field("WHOrgId").value = form.userinfo.orgid;
                    ds_ddhz.field("WHOrgName").value = form.userinfo.orgname;
            } else if (!Utility.isSpace(form.userinfo.whorgid)) {
                    ds_ddhz.field("WHOrgId").value = form.userinfo.whorgid;
                    ds_ddhz.field("WHOrgName").value = form.userinfo.whorgname;
            }
            
            //默认库房处理
            pf_setBillDft(ds_ddhz,1);

            //根据高级开关控制是否赠品字段是否可见
            if( iszengpin=="N"){
               ds_ddmx.field("isfree").visible= false;
            }
            if (form.parameters.advance["2oki4bk55pzmdrgz"] == "N"){
                grid1.headerSort = false;
            }
            ds_ddhz.field("wldeptid").value = form.userinfo.deptid; 
            ds_ddhz.field("wldeptname").value = form.userinfo.deptname; 
            
            sel_client.nowarning = true;
            sel_address.nowarning = true;
            sel_unit.nowarning = true;
            managePack = FormUtil.getSysParam("3oehfvko76vopyrw", "3q8squ1l3qkshsgc", "")=="Y";
            ds_ddmx.field("unit").readOnly = !managePack;
            ds_ddmx.edit();
            ds_fzhz.openEmpty();
            ds_fzmx.openEmpty();
            ds_fzmx.append();
            ds_fzhz.append();
            textbox3.focus();
            ds_ddmx.updateGrid();

        }
    }
    
    //取当前机构经营范围
    if (form.parameters.action =="new" || form.parameters.action =="modify"){
        var orgpars = {};
        orgpars.orgid = ds_ddhz.field("orgid").value;
        ds_ddhz.field("orgCont").value = DBUtil.uniqueValue("sql_getOrgCont", orgpars);
    }
    
    //设置表单不可用控件
    pf_setCompDisable();
    //设置明细字段隐藏、焦点跳动
    pf_setDtFld(ds_ddmx);
    form.addHotKey("ESC", "formOnKeyDown(event)" );
    
    
}

function sys_loadBill(Scr) {
    var params = {};
    if (Scr == "review") {
        //单据在线取值特殊
        params.billno = form.serverargs["billno"];
    }else {
        params.billno = form.parameters.billno;
    }
    params.fzhy =useFzhy;
    ds_ddhz.open("sql_reviewMast", "sql", params);
    ds_ddmx.open("sql_reviewDetail", "sql", params);
    //部门处理
    sys_afterSelBill();
    uf_numToChn();
}

function sys_selAddress(cond){
    var params = {};
    tmpAddress = cond;
    params.con = "%" + Utility.trim(cond.toUpperCase()) + "%";
    params.businessid = ds_ddhz.field("accptid").value;
    sel_address.select.variables = params;
}

function sys_afterAddress(){
    if ((sel_address.result == "noData") && (ds_ddhz.field("accptid").value!="")){
        // 增加新的地址
        if(confirm(Utility.getMessage("newAddress"))){
            var params = {};
            params.accptID = ds_ddhz.field("accptid").value;
            params.accptCode = ds_ddhz.field("accptcode").value;
            params.accptName = ds_ddhz.field("accptname").value;
            params.vget = tmpAddress;
            params.ds_hz = ds_ddhz;
            form.open("5p3lagf68nrqfc4l", params, "new", "",526, 201);
        }
    }
}


function sys_zdyh(){
    ds_ddmx.update();
    var params={};
    params.taxAmount = label16.getText();
    params.clientid = ds_ddhz.field("clientid").value;
    params.ds_hz = ds_ddhz;
    params.ds_mx = ds_ddmx;
    form.open("00u877nw38fywvmt", params, "new", "", 321, 193);
}

function sys_selectDept(){
    if (! useMutiOrg){ //启用多组织管理
        sel_deptNoTree.open();
    }
    else {
        sel_dept.open();
    }
}

function sys_selDeptNoTree(cond){
    var obj = {};
    obj.orgid = form.userinfo.orgid;
    obj.con = "%" + Utility.trim(cond.toUpperCase()) + "%";
    sel_deptNoTree.select.variables = obj;
}

function sys_clearDeptNoTree(){
    ds_ddhz.field("deptid").value = "";
    ds_ddhz.field("department").value = "";
}

/*此函数服务表单明细中明细提交时检查商品ID是否为空,如果为空清空当前的商品显示,
证明没有选择正确的商品资料,另外处理的是商品落下来以后各种价格的处理*/
function sys_afterGoods() {  

    if (!Utility.isSpace(ds_ddmx.field("goodsid").value)){
        //商品限销校验
         if((!Utility.isSpace(ds_ddhz.field("ClientId").value)) && isLimitSale){
             if(!pf_chkLimitSale(ds_ddmx, ds_ddhz.field("OrgId").value, ds_ddhz.field("ClientId").value)){
                 return;
             }
         }
         if (ds_ddmx.field("IsQa").value=="Y"){
             //经营范围校验
             if ( ! pf_chkBusiScope(ds_ddhz.field("BusinessCont").value, ds_ddmx.field("GCategory").value, ds_ddmx, chkBusiScope, ds_ddhz))
                 return;
              //本企业经营范围校验
             if ( ! pf_chkOrgScope(ds_ddhz.field("OrgCont").value, ds_ddmx.field("GCategory").value, ds_ddmx, chkBusiScope))
                 return;
             //gmp证书范围、对方业务员管控范围校验
             if ( ! pf_chkGoodsValid(ds_ddmx, 2, '', ds_con)) 
                 return;
         }
    }

    if (Utility.isSpace(ds_ddmx.field("goodsid").value)) {
        ds_ddmx.field("Goodsid").value = "";
        ds_ddmx.field("GoodsCode").value = "";
        ds_ddmx.field("GoodsName").value = "";
    }
    else {
        ds_ddmx.field("OwnerID").value = form.userinfo.orgid;
        ds_ddmx.field("entid").value = form.userinfo.entid;
        pf_CopyToDetail(ds_ddhz, ds_ddmx, "remark,GoodsGroup");
        //商品与单位证照范围拦截
//        if(!pf_chkGoodsBusiCert(ds_ddmx.getValue("goodsid"),ds_ddmx.getValue("GCategory"),ds_ddhz.getValue("ClientId"),ds_cert,iscert)){
//            ds_ddmx.deleteRow();
//        }

    }

    var params = {};

    if ((!Utility.isSpace(ds_ddhz.field("clientid").value)) && (form.parameters.advance["3rl10yvh2tf3reqb"] == "Y") ){
        // 销往单位特价
        params.dates = DateUtil.curDate();
        params.goodsid = ds_ddmx.field("goodsid").value;
        params.packid = ds_ddmx.field("packid").value;
        params.orgid = form.userinfo.orgid;
        params.clientid = ds_ddhz.field("clientid").value;
        params.meas = ds_ddmx.field("meas").value;
        pf_SpecPrice(params, ds_ddmx);
        
    }else if((!Utility.isSpace(ds_ddhz.field("clientid").value)) && (form.parameters.advance["4rlmbkb248pu732r"] == "Y")){
        //最后售价
        params.clientid = ds_ddhz.field("clientid").value;
        params.goodsid = ds_ddmx.field("goodsid").value;
        params.packid = ds_ddmx.field("packid").value;
        params.meas = ds_ddmx.field("meas").value;
        pf_lastPrice(params, ds_ddmx);
        
    }else if (form.parameters.advance["25mrty8c1g3byy4z"] == "Y"){
        //弹出一品多价窗口
        if (pf_HasMulPrice( form.userinfo.or

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值