浏览代码

BUG #1421 合同支付项,停用后,再次双击本期金额,不应计算

MaiXinRong 8 年之前
父节点
当前提交
b8da5f17c6
共有 1 个文件被更改,包括 18 次插入13 次删除
  1. 18 13
      DataModules/DealPaymentDm.pas

+ 18 - 13
DataModules/DealPaymentDm.pas

@@ -471,23 +471,28 @@ procedure TDealPaymentData.sdvDealPaymentSetText(var Text: string;
     end;
 
     if AValue.Owner.ValueByName('StopCalc').AsBoolean then
-      fTotalPrice := 0;
-
-    iID := ARecord.ValueByName('ID').AsInteger;
-    if CheckStartedPrice(iID) then
     begin
-      sPreField := StringReplace(AValue.FieldName, 'TotalPrice', 'PreTotalPrice', []);
-      fAllow := GetAllowTotalPrice(iID, fTotalPrice, AValue.Owner.ValueByName(sPreField).AsFloat);
-      Text := FloatToStr(fAllow);
-      if fAllow < fTotalPrice then
-        TipMessage(Format('“%s”已达扣款限额,本期金额计%s。', [Rec.ValueByName('Name').AsString, Text]))
-      else if fAllow > fTotalPrice then
-        TipMessage(Format('“%s”已达计提期限,本期金额计%s。', [Rec.ValueByName('Name').AsString, Text]));
+      fTotalPrice := 0;
+      Text := '';
     end
     else
     begin
-      Text := '';
-      TipMessage(Format('“%s”未达到起扣金额,本期金额计零。', [Rec.ValueByName('Name').AsString]));
+      iID := ARecord.ValueByName('ID').AsInteger;
+      if CheckStartedPrice(iID) then
+      begin
+        sPreField := StringReplace(AValue.FieldName, 'TotalPrice', 'PreTotalPrice', []);
+        fAllow := GetAllowTotalPrice(iID, fTotalPrice, AValue.Owner.ValueByName(sPreField).AsFloat);
+        Text := FloatToStr(fAllow);
+        if fAllow < fTotalPrice then
+          TipMessage(Format('“%s”已达扣款限额,本期金额计%s。', [Rec.ValueByName('Name').AsString, Text]))
+        else if fAllow > fTotalPrice then
+          TipMessage(Format('“%s”已达计提期限,本期金额计%s。', [Rec.ValueByName('Name').AsString, Text]));
+      end
+      else
+      begin
+        Text := '';
+        TipMessage(Format('“%s”未达到起扣金额,本期金额计零。', [Rec.ValueByName('Name').AsString]));
+      end;
     end;
   end;