Ejemplo n.º 1
0
 function C24Pr()
 {
     $_OBJECT =& $this->APPObj;
     $_IMPORT =& $this->IMPORT;
     $_RESULT =& $this->Result;
     if (($mUSafe = $this->APPCls->Getvar("Safeval") && 32) != 32) {
         trigger_error(Vicmsg::ParseArray("ER30005"), NOTIC);
         //自定义错误信息
         return -1;
     }
     $i = 0;
     $cRange = $this->DBegin();
     //数组 返回要删除的id
     while ($i < sizeof($cRange)) {
         $_RESULT->SetState("D", $i);
         //$this->Check($i);
         $this->K24Pr(&$_RESULT, $i);
         $i++;
     }
     return $this->Toend();
 }
Ejemplo n.º 2
0
 function Check($iIx)
 {
     $_OBJECT =& $this->APPObj;
     $_IMPORT =& $this->IMPORT;
     $_RESULT =& $this->Result;
     $mFile = $this->APPCls->Getvar("Surface");
     $mPath = "/" . $this->APPCls->Getvar("RunPath") . "/Tml/";
     $mPath = Vic_Dir_Search($mFile . ".INI", $mPath, 1, "F");
     if ($mPath == "") {
         return -1;
     }
     $mVals = parse_ini_file($mPath, true);
     for ($i = 0; $i < sizeof($mVals); $i++) {
         $mOKay = true;
         $mOKay = $mOKay && array_key_exists("Caption", $mVals[$i]);
         $mOKay = $mOKay && array_key_exists("CKField", $mVals[$i]);
         $mOKay = $mOKay && array_key_exists("Message", $mVals[$i]);
         if (!$mOKay) {
             continue;
         }
         $mMessage =& $mVals[$i]["Message"];
         $mCaption =& $mVals[$i]["Caption"];
         $mCKField =& $mVals[$i]["CKField"];
         $mFormula = array_key_exists("Formula", $mVals[$i]) ? $mVals[$i]["Formula"] : "";
         $mPrimary = array_key_exists("Primary", $mVals[$i]) ? $mVals[$i]["Primary"] : "";
         $mMin = array_key_exists("Min", $mVals[$i]) ? $mVals[$i]["Min"] : "";
         $mMax = array_key_exists("Max", $mVals[$i]) ? $mVals[$i]["Max"] : "";
         $mCodeval = array_key_exists("Codeval", $mVals[$i]) ? $mVals[$i]["Codeval"] : "";
         $mCodeval = explode("||", $mCodeval);
         if (strpos(":" . $mMessage, "@")) {
             $mMessage = Vicmsg::ParseArray(substr($mMessage, 1));
         }
         $mMessage = str_replace("[Min]", $mMin, $mMessage);
         $mMessage = str_replace("[Max]", $mMax, $mMessage);
         $mMessage = str_replace("[Caption]", $mMax, $mMessage);
         $mMessage .= "[^]" . $mCKField;
         $mRowvals = $_RESULT->GetField($mCKField, $iIx);
         //生成编号
         if (sizeof($mCodeval) == 6 && $_RESULT->GetField("RowST", $iIx) == "I") {
             $mCodeval[0] = str_replace("%UsrCO%", $_OBJECT["US"]->Getvar("UsrCO"), $mCodeval);
             $mCodeval[0] = str_replace("%UsrCO%", $_OBJECT["US"]->Getvar("UsrDP"), $mCodeval);
             $mCodeval[0] = str_replace("%UsrCO%", $_OBJECT["US"]->Getvar("UsrWK"), $mCodeval);
             $mCodeval[0] = $mCodeval[0] == "" ? "@" : $mCodeval[0];
             $mCode =& $mCodeval;
             $mRowvals = Vic_Code($mCode[0], $mCode[1], $mCode[2], $mCode[3], $mCode[4], $mCode[5]);
             $_RESULT->SetField($mCKField, $mRowvals, $iIx);
         }
         //长度检查
         if ($mMin != "" && $mMax != "" && (mb_strlen($mRowvals, "utf8") < $mMin || mb_strlen($mRowvals, "utf8") > $mMax)) {
             trigger_error($mMessage, NOTIC);
             continue;
         }
         //格式检查
         if ($mFormula != "" && $mRowvals != "" && preg_match($mFormula, $mRowvals) <= 0) {
             trigger_error($mMessage, NOTIC);
             continue;
         }
         //主键检查
         if ($mPrimary == "@") {
             $mPrimary = "{~}" . $mCKField . "{_}=={_}[" . $mCKField . "]";
         }
         if ($mPrimary != "" && $this->ReKey($iIx < 0 ? 0 : $iIx, $mPrimary) >= 1) {
             trigger_error($mMessage, NOTIC);
             continue;
         }
     }
 }