📄 bas_qry_bomcomparesheet.pas
字号:
Bomqty1str:='N'
else
Bomqty1str:='Y';
if BomScrAp_Percent1str=BomScrAp_Percent2str then
BomScrAp_Percent1str:='N'
else
BomScrAp_Percent1str:='Y';
if BomStatus1str=BomStatus2str then
BomStatus1str:='N'
else
BomStatus1str:='Y';
if DeptName1str=DeptName2str then
DeptName1str:='N'
else
DeptName1str:='Y';
AdoQry_Main.insert;
AdoQry_Main.fieldbyname ('ite_ItemCode').asstring:= '对比是否有差异';
AdoQry_Main.fieldbyname ('ItemCodeName').asstring:= '';
AdoQry_Main.fieldbyname ('BomItemType').asstring:= BomItemType1str;
AdoQry_Main.fieldbyname ('Bomqty').asstring:= Bomqty1str;
AdoQry_Main.fieldbyname ('BomScrAp_Percent').asstring:= BomScrAp_Percent1str;
AdoQry_Main.fieldbyname ('BomStatus').asstring:= BomStatus1str;
AdoQry_Main.fieldbyname ('DeptCodeName').asstring:= DeptName1str;
AdoQry_Main.fieldbyname ('colorflag').asstring:=inttostr(colorflag);
AdoQry_Main.post;
end;
end;
AdoQry_Tmp.next;
if colorflag=1 then
colorflag:=0
else
colorflag:=1;
end;
end;
AdoQry_Main.First;
flag:=1;
Screen.Cursor:=crDefault;
except
with AdoQry_Tmp do
begin
Close;
sql.clear;
sql.Add('set noCount on '+
' if OBJECT_ID('+''''+Tmp_Name+''''+') is not null '+
' drop table '+Tmp_Name+' ' );
execsql;
end;
Screen.Cursor:=crDefault;
end;
end;
if AdoQry_Main.recordCount>0 then
Pnl_Hint.Caption:='提示:共有:'+''+inttostr(AdoQry_Main.recordCount)+''+'条记录'
end;
procedure TFrm_Bas_Qry_BomCompareSheet.Act_ExcelExecute(Sender: TObject);
begin
inherited;
DBGridEhToExcel(Dbgrideh1);
end;
procedure TFrm_Bas_Qry_BomCompareSheet.setReport;
var
i,j:integer;
begin
inherited;
ExtPrintReport1.DataSet :=nil;
ExtPrintReport1.Headers.clear;
i:=0;
with ExtPrintReport1 do
begin
for j:=0 to DBGridEH1.Columns.Count-1 do
if DBGridEH1.Columns[j].Visible then
begin
Headers.Add;
Headers.Items[i].Caption :=DBGridEH1.Columns[j].Title.Caption;
Headers.Items[i].FieldName :=DBGridEH1.Columns[j].FieldName;
Headers.Items[i].DisplayWidth:=DBGridEH1.Columns[j].Width div (DBGridEH1.Columns[j].Font.Size-2);
Headers.Items[i].Alignment :=DBGridEH1.Columns[j].Alignment;
inc(i);
end;
DataSet:=AdoQry_Main;
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:='Select SysParamValueC '+
'From SysParam '+
'where SysParamCode=''Name0''';//Name0是使用本系统的客户的名称
AdoQry_Tmp.Open;
ExtPrintReport1.Title1:=AdoQry_Tmp.fieldbyname('SysParamValueC').AsString;
ExtPrintReport1.Title2:='Bom对比差异明细表';
end;
end;
procedure TFrm_Bas_Qry_BomCompareSheet.Act_PrintExecute(Sender: TObject);
begin
inherited;
SetReport;
ExtPrintReport1.print(self);
end;
procedure TFrm_Bas_Qry_BomCompareSheet.Act_PreviewExecute(Sender: TObject);
begin
inherited;
SetReport;
ExtPrintReport1.preview;
end;
procedure TFrm_Bas_Qry_BomCompareSheet.inivar;
begin
object1:='';
ItemCode1str:='';
BomItemType1str:='';
Bomqty1str:='';
BomScrAp_Percent1str:='';
BomStatus1str:='';
DeptName1str:='';
object2:='';
ItemCode2str:='';
BomItemType2str:='';
Bomqty2str:='';
BomScrAp_Percent2str:='';
BomStatus2str:='';
DeptName2str:='';
end;
procedure TFrm_Bas_Qry_BomCompareSheet.FormDestroy(Sender: TObject);
begin
inherited;
Frm_Bas_Qry_BomCompareSheet:=nil;
end;
procedure TFrm_Bas_Qry_BomCompareSheet.Act_QuitExecute(Sender: TObject);
begin
with AdoQry_Tmp do
begin
Close;
sql.clear;
sql.Add('set noCount on '+
' if OBJECT_ID('+''''+Tmp_Name+''''+') is not null '+
' drop table '+Tmp_Name+' ' );
execsql;
end;
inherited;
end;
procedure TFrm_Bas_Qry_BomCompareSheet.displayCodeName;
begin
if flag=1 then
begin
if Trim(AdoQry_Main.fieldbyname('Ite_ItemCode').asstring)='对比是否有差异' then
begin
label2.Caption:='';
label4.Caption:='';
label6.Caption:='';
label8.Caption:='';
end
else
begin
label2.Caption:=getCode(AdoQry_Main.fieldbyname('Ite_ItemCode').asstring);
label4.Caption:=getName(AdoQry_Main.fieldbyname('Ite_ItemCode').asstring);
label6.Caption:=getCode(AdoQry_Main.fieldbyname('ItemCodeName').asstring);
label8.Caption:=getName(AdoQry_Main.fieldbyname('ItemCodeName').asstring);
end;
end;
end;
function TFrm_Bas_Qry_BomCompareSheet.getItemCodeName(
ItemCode: string): string;
begin
Result:='';
with AdoQry_Tmp do
begin
Close;
sql.clear;
sql.Add('select ItemName from Item where ItemCode='''+ItemCode+'''');
open;
Result:=fieldbyname('ItemName').asstring;
Close;
end;
end;
procedure TFrm_Bas_Qry_BomCompareSheet.DBGridEh1MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
inherited;
displayCodeName;
end;
procedure TFrm_Bas_Qry_BomCompareSheet.DBGridEh1KeyUp(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
displayCodeName;
end;
procedure TFrm_Bas_Qry_BomCompareSheet.DataSource1DataChange(
Sender: TObject; Field: TField);
begin
inherited;
displayCodeName;
end;
procedure TFrm_Bas_Qry_BomCompareSheet.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Action:=Cafree;
end;
procedure TFrm_Bas_Qry_BomCompareSheet.AdoQry_MainAfterOpen(
DataSet: TDataSet);
begin
if flag=1 then
begin
TFloatField(DataSet.fieldbyname('BomQty')).DisplayFormat:='0.#####';
TFloatField(DataSet.fieldbyname('BomScrAp_Percent')).DisplayFormat:='0.#####';
end;
inherited;
end;
procedure TFrm_Bas_Qry_BomCompareSheet.DBGridEh1GetCellParams(
Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
if AdoQry_Main.fieldbyname ('colorflag').asstring='0' then
Background:=$f0f0f0;
if AdoQry_Main.fieldbyname ('colorflag').asstring='1' then
Background:=$ffd9d9;
if (gdSelected in State)or(gdFocused in State) then
begin
Background:=clNavy;
AFont.Color:=clWindow;
end
else
begin
AFont.Color:=clBlack;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -