|
@@ -367,12 +367,20 @@ procedure TDealPaymentData.sdvDealPaymentSetText(var Text: string;
|
|
|
ARecord: TsdDataRecord; AValue: TsdValue; AColumn: TsdViewColumn;
|
|
|
var Allow: Boolean);
|
|
|
|
|
|
+ function GetRecord: TsdDataRecord;
|
|
|
+ begin
|
|
|
+ if Pos('TotalPrice', AValue.FieldName) > 0 then
|
|
|
+ Result := sddDealPayment.FindKey('idxID', ARecord.ValueByName('ID').AsInteger)
|
|
|
+ else
|
|
|
+ Result := ARecord;
|
|
|
+ end;
|
|
|
+
|
|
|
procedure CheckLockedData;
|
|
|
var
|
|
|
Rec: TsdDataRecord;
|
|
|
sFormula: string;
|
|
|
begin
|
|
|
- Rec := sddDealPayment.FindKey('idxID', ARecord.ValueByName('ID').AsInteger);
|
|
|
+ Rec := GetRecord;//sddDealPayment.FindKey('idxID', ARecord.ValueByName('ID').AsInteger);
|
|
|
if Rec.ValueByName('CalcType').AsInteger = 1 then
|
|
|
begin
|
|
|
if SameText(AValue.FieldName, 'Name') or
|
|
@@ -450,7 +458,7 @@ procedure TDealPaymentData.sdvDealPaymentSetText(var Text: string;
|
|
|
fTotalPrice, fAllow: Double;
|
|
|
Rec: TsdDataRecord;
|
|
|
begin
|
|
|
- Rec := sddDealPayment.FindKey('idxID', ARecord.ValueByName('ID').AsInteger);
|
|
|
+ Rec := GetRecord;//sddDealPayment.FindKey('idxID', ARecord.ValueByName('ID').AsInteger);
|
|
|
sFField := StringReplace(AValue.FieldName, 'TotalPrice', 'Formula', []);
|
|
|
if CheckStringNull(Text) or CheckNumeric(Text) then
|
|
|
begin
|