|
@@ -11,8 +11,6 @@ type
|
|
|
sddProjectGL: TsdDataSet;
|
|
|
sdvProjectGL: TsdDataView;
|
|
|
procedure sddProjectGLAfterAddRecord(ARecord: TsdDataRecord);
|
|
|
- procedure sddProjectGLBeforeValueChange(AValue: TsdValue;
|
|
|
- const NewValue: Variant; var Allow: Boolean);
|
|
|
procedure sddProjectGLAfterValueChanged(AValue: TsdValue);
|
|
|
procedure sdvProjectGLGetText(var Text: String; ARecord: TsdDataRecord;
|
|
|
AValue: TsdValue; AColumn: TsdViewColumn; DisplayText: Boolean);
|
|
@@ -205,40 +203,6 @@ begin
|
|
|
ARecord.ValueByName('CreatePhaseID').AsInteger := TProjectData(FProjectData).ProjProperties.PhaseCount;
|
|
|
end;
|
|
|
|
|
|
-procedure TProjectGLData.sddProjectGLBeforeValueChange(AValue: TsdValue;
|
|
|
- const NewValue: Variant; var Allow: Boolean);
|
|
|
-var
|
|
|
- Rec: TProjectGLRecord;
|
|
|
-begin
|
|
|
- Rec := TProjectGLRecord(AValue.Owner);
|
|
|
- if SameText(AValue.FieldName, 'Code') then
|
|
|
- begin
|
|
|
- if VarIsNull(NewValue) then
|
|
|
- begin
|
|
|
- DataSetErrorMessage(Allow, '编号不可为空。');
|
|
|
- if Rec.Code.AsString = '' then
|
|
|
- sddProjectGL.Remove(AValue.Owner);
|
|
|
- end
|
|
|
- else if CheckSameCode(NewValue) then
|
|
|
- begin
|
|
|
- DataSetErrorMessage(Allow, '编号不可重复。');
|
|
|
- if Rec.Code.AsString = '' then
|
|
|
- sddProjectGL.Remove(AValue.Owner);
|
|
|
- end
|
|
|
- else if CheckApplied(Rec.ID.AsInteger) then
|
|
|
- DataSetErrorMessage(Allow, '工料已被应用,不可修改编号。');
|
|
|
- end
|
|
|
- else if not(SameText(AValue.FieldName, 'ID') or
|
|
|
- SameText(AValue.FieldName, 'CreatePhaseID')) then
|
|
|
- begin
|
|
|
- if (Rec.Code.AsString = '') then
|
|
|
- begin
|
|
|
- DataSetErrorMessage(Allow, '编号不可为空,请先填写编号,再填写其他信息。');
|
|
|
- sddProjectGL.Remove(AValue.Owner);
|
|
|
- end;
|
|
|
- end;
|
|
|
-end;
|
|
|
-
|
|
|
procedure TProjectGLData.sddProjectGLAfterValueChanged(AValue: TsdValue);
|
|
|
begin
|
|
|
if SameText(AValue.FieldName, 'BasePrice') or
|
|
@@ -508,10 +472,26 @@ begin
|
|
|
begin
|
|
|
if StrToIntDef(Text, 0) = 0 then
|
|
|
begin
|
|
|
- DataSetErrorMessage(Allow, '编号不可为0。');
|
|
|
+ DataSetErrorMessage(Allow, '编号不可为0或空。');
|
|
|
if Rec.Code.AsString = '' then
|
|
|
sddProjectGL.Remove(ARecord);
|
|
|
end
|
|
|
+ else if CheckSameCode(StrToInt(Text)) then
|
|
|
+ begin
|
|
|
+ DataSetErrorMessage(Allow, '编号不可重复。');
|
|
|
+ if Rec.Code.AsString = '' then
|
|
|
+ sddProjectGL.Remove(AValue.Owner);
|
|
|
+ end
|
|
|
+ else if CheckApplied(Rec.ID.AsInteger) then
|
|
|
+ DataSetErrorMessage(Allow, '工料已被应用,不可修改编号。');
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if (Rec.Code.AsString = '') then
|
|
|
+ begin
|
|
|
+ DataSetErrorMessage(Allow, '编号不可为空,请先填写编号,再填写其他信息。');
|
|
|
+ sddProjectGL.Remove(AValue.Owner);
|
|
|
+ end;
|
|
|
end;
|
|
|
end;
|
|
|
|