832 lines
24 KiB
ObjectPascal
832 lines
24 KiB
ObjectPascal
unit U_BpGdCkEdit;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, cxEdit,Classes, Graphics, Controls, Forms,
|
||
Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData,
|
||
cxGraphics, cxFilter, cxData, cxDataStorage, DB, cxDBData,cxTextEdit,
|
||
cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView,
|
||
cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
|
||
cxGridCustomView, cxGrid, DBClient, ADODB, cxGridCustomPopupMenu,
|
||
cxGridPopupMenu, cxCheckBox, BtnEdit, cxCurrencyEdit,strUtils, RM_Common,
|
||
RM_Class, RM_e_Xls, RM_GridReport, RM_System, RM_Dataset;
|
||
|
||
type
|
||
TfrmBpGdCkEdit = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TBRafresh: TToolButton;
|
||
TBExport: TToolButton;
|
||
TBPrint: TToolButton;
|
||
TBClose: TToolButton;
|
||
cxGrid1: TcxGrid;
|
||
Tv1: TcxGridDBTableView;
|
||
v1P_CodeName: TcxGridDBColumn;
|
||
v1QtyUnit: TcxGridDBColumn;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
ADOQueryCmd: TADOQuery;
|
||
ADOQueryTmp: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
CDS_Main: TClientDataSet;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
TOk: TToolButton;
|
||
v1P_Color: TcxGridDBColumn;
|
||
v1ckqty: TcxGridDBColumn;
|
||
v1price: TcxGridDBColumn;
|
||
v1money: TcxGridDBColumn;
|
||
Panel2: TPanel;
|
||
GroupBox1: TGroupBox;
|
||
CRTime: TDateTimePicker;
|
||
Label8: TLabel;
|
||
CRType: TComboBox;
|
||
Label5: TLabel;
|
||
Label9: TLabel;
|
||
cust: TBtnEditA;
|
||
ADOQuery1: TADOQuery;
|
||
ToolBar2: TToolBar;
|
||
ToolButton1: TToolButton;
|
||
ToolButton2: TToolButton;
|
||
Panel1: TPanel;
|
||
Label23: TLabel;
|
||
ADOPrint: TADOQuery;
|
||
RMDB_MD: TRMDBDataSet;
|
||
RMGridReport1: TRMGridReport;
|
||
RMXLSExport1: TRMXLSExport;
|
||
Label1: TLabel;
|
||
note: TEdit;
|
||
Label2: TLabel;
|
||
custaddress: TEdit;
|
||
TBKC: TToolButton;
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure TBRafreshClick(Sender: TObject);
|
||
procedure TBPrintClick(Sender: TObject);
|
||
procedure TBExportClick(Sender: TObject);
|
||
procedure TOkClick(Sender: TObject);
|
||
procedure custBtnClick(Sender: TObject);
|
||
procedure v1ckqtyPropertiesEditValueChanged(Sender: TObject);
|
||
procedure CheckBox1Click(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure ToolButton2Click(Sender: TObject);
|
||
procedure v1P_CodeNamePropertiesEditValueChanged(Sender: TObject);
|
||
procedure v1P_ColorPropertiesEditValueChanged(Sender: TObject);
|
||
procedure Tv1CellClick(Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
procedure v1P_CodeNamePropertiesButtonClick(Sender: TObject;
|
||
AButtonIndex: Integer);
|
||
procedure Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView;
|
||
ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo;
|
||
var ADone: Boolean);
|
||
procedure TBKCClick(Sender: TObject);
|
||
procedure CRTypeChange(Sender: TObject);
|
||
private
|
||
procedure InitGrid();
|
||
procedure SetComboBox();
|
||
function savedate():Boolean;
|
||
function YSData(ckNo,CkID:string;Order_Main10:TClientDataSet):Boolean;
|
||
procedure DoKc();
|
||
|
||
{ Private declarations }
|
||
public
|
||
fType:integer;
|
||
fCKName:string;
|
||
fkeyNO:string;
|
||
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmBpGdCkEdit: TfrmBpGdCkEdit;
|
||
|
||
implementation
|
||
uses
|
||
U_DataLink,U_Fun10,U_ZDYHelp, U_BpRk, U_ZdyAttachCP, U_ZdyAttachment,
|
||
U_BpkcCk;
|
||
{$R *.dfm}
|
||
procedure TfrmBpGdCkEdit.DoKc();
|
||
begin
|
||
Label23.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0';
|
||
IF CDS_Main.IsEmpty then exit;
|
||
IF trim(CDS_Main.fieldbyname('P_CodeName').AsString)='' then exit;
|
||
IF trim(CDS_Main.fieldbyname('P_Color').AsString)='' then exit;
|
||
with ADOQuery1 do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select AA.* ');
|
||
sql.Add('FROM( select A.ckName,P_CodeName,A.P_Color,A.QtyUnit,ckQty=0.00,Price=0.00,money=0.00, ');
|
||
sql.Add(' SUM(case when CRFlag=''<27><><EFBFBD><EFBFBD>'' then Qty else -1 * Qty end ) as Qty ');
|
||
sql.Add('from BP_InOut A ');
|
||
sql.Add('where P_CodeName='+quotedstr(trim(CDS_Main.fieldbyname('P_CodeName').AsString)) );
|
||
sql.Add('and P_Color='+quotedstr(trim(CDS_Main.fieldbyname('P_Color').AsString)) );
|
||
if trim(FckName)<>'' then
|
||
sql.Add('and ckName='+quotedstr(trim(FckName)) );
|
||
sql.Add('group by A.ckName,P_CodeName,A.P_Color,A.QtyUnit)AA ');
|
||
open;
|
||
end;
|
||
IF not ADOQuery1.IsEmpty then
|
||
begin
|
||
// Label22.Caption:='ƥ<><C6A5><EFBFBD><EFBFBD>'+trim(ADOQuery1.fieldbyname('kcRollNum').AsString);
|
||
Label23.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'+trim(ADOQuery1.fieldbyname('Qty').AsString);
|
||
end;
|
||
end;
|
||
function TfrmBpGdCkEdit.YSData(ckNo,CkID:string;Order_Main10:TClientDataSet):Boolean;
|
||
var
|
||
CRID,YFID,Price,PriceUnit,OrderUnit,FComTaiTou:String;
|
||
begin
|
||
Result:=False;
|
||
|
||
with Order_Main10 do
|
||
begin
|
||
with ADOQuery1 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(cust.text)+'''');
|
||
sql.Add('and ZdyStr1=''Ӧ<><D3A6><EFBFBD><EFBFBD>''');
|
||
sql.Add('and YFDefFlag1=1 ');
|
||
Open;
|
||
end;
|
||
if not ADOQuery1.IsEmpty then
|
||
begin
|
||
CRID:=ADOQuery1.fieldbyname('CRID').AsString;
|
||
end
|
||
else
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Update YF_Money_CRID set CRID=CRID+1');
|
||
sql.Add('select * from YF_Money_CRID ');
|
||
Open;
|
||
end;
|
||
CRID:=ADOQueryCmd.fieldbyname('CRID').AsString;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('select * from YF_Money_KC where 1<>1');
|
||
Open;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Append;
|
||
FieldByName('CRID').Value:=StrToInt(CRID);
|
||
FieldByName('FactoryName').Value:=Trim(cust.text);
|
||
FieldByName('ZdyStr1').Value:='Ӧ<><D3A6><EFBFBD><EFBFBD>';
|
||
FieldByName('YFDefFlag1').Value:=1;
|
||
Post;
|
||
end;
|
||
end;
|
||
|
||
with ADOQuery1 do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('delete from YF_Money_CR ');
|
||
sql.Add(' where MainID='''+Trim(ckNo)+'''');
|
||
sql.Add(' and subID='''+Trim(ckID)+'''');
|
||
sql.Add(' and YFName=''<27>㶫<EFBFBD><E3B6AB><EFBFBD><EFBFBD>'' ');
|
||
execsql;
|
||
end;
|
||
with ADOQuery1 do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from YF_Money_CR ');
|
||
sql.Add(' where MainID='''+Trim(ckNo)+'''');
|
||
sql.Add(' and subID='''+Trim(ckID)+'''');
|
||
sql.Add(' and YFName=''<27>㶫<EFBFBD><E3B6AB><EFBFBD><EFBFBD>'' ');
|
||
Open;
|
||
end;
|
||
if ADOQuery1.IsEmpty then
|
||
begin
|
||
if GetLSNo(ADOQueryCmd,YFID,'CS','YF_Money_CR',4,1)=False then
|
||
begin
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * from YF_Money_CR where 1<>1');
|
||
Open;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Append;
|
||
FieldByName('YFID').Value:=Trim(YFID);
|
||
FieldByName('YFTypeId').Value:=Trim(ckNo);
|
||
FieldByName('CRID').Value:=StrToInt(CRID);
|
||
FieldByName('Filler').Value:=Trim(DName);
|
||
FieldByName('CRType').Value:='Ӧ<>տ<EFBFBD><D5BF>Ǽ<EFBFBD>';
|
||
FieldByName('CRFlag').Value:='Ӧ<><D3A6><EFBFBD><EFBFBD>';
|
||
FieldByName('QtyFlag').Value:=1;
|
||
FieldByName('FactoryName').Value:=Trim(cust.Text);
|
||
FieldByName('CRTime').Value:=Trim(FormatDateTime('yyyy-MM-dd',CRTime.DateTime));
|
||
FieldByName('YFType').Value:='<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>';
|
||
FieldByName('ps').Value:=0;
|
||
FieldByName('Qty').Value:=Order_Main10.fieldbyname('Qty').AsFloat;
|
||
FieldByName('Price').Value:=Order_Main10.fieldbyname('Price').AsFloat;
|
||
FieldByName('Money').Value:=Order_Main10.fieldbyname('Money').AsFloat;
|
||
FieldByName('BBMoney').Value:=Order_Main10.fieldbyname('Money').AsFloat;
|
||
//FieldByName('HuiLv').Value:=1;
|
||
FieldByName('HuiLv').Value:=1;
|
||
FieldByName('BZType').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
FieldByName('QtyUnit').Value:=Trim(Order_Main10.fieldbyname('QtyUnit').AsString);
|
||
FieldByName('ComTaiTou').Value:=Trim(cust.Text);
|
||
FieldByName('P_CodeName').Value:=trim(Order_Main10.fieldbyname('P_CodeName').AsString);
|
||
FieldByName('P_Color').Value:=trim(Order_Main10.fieldbyname('P_Color').AsString);
|
||
FieldByName('YFName').Value:='<27>㶫<EFBFBD><E3B6AB><EFBFBD><EFBFBD>';
|
||
FieldByName('MainId').Value:=Trim(ckNo);
|
||
FieldByName('subID').Value:=Trim(CkID);
|
||
FieldByName('YFDefFlag1').Value:=1;
|
||
FieldByName('syrName').Value:='<27>㶫<EFBFBD><E3B6AB><EFBFBD>в<EFBFBD>';
|
||
Post;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
YFID:=Trim(ADOQuery1.fieldbyname('YFID').AsString);
|
||
end;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)');
|
||
sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)');
|
||
sql.Add(' where CRID='+CRID);
|
||
ExecSQL;
|
||
end;
|
||
end;
|
||
Result:=True;
|
||
end;
|
||
function TfrmBpGdCkEdit.savedate():Boolean;
|
||
var
|
||
fkcID,i:integer;
|
||
Filler:string;
|
||
FillTime:TdateTime;
|
||
maxno:string;
|
||
begin
|
||
result:=false;
|
||
try
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
if FType=0 then
|
||
begin
|
||
if GetLSNo(ADOQueryCmd,fkeyNO,'GC','BP_InOut',3,1)=False then
|
||
begin
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
|
||
Exit;
|
||
end;
|
||
Filler:=DName;
|
||
FillTime:=SGetServerDateTime(adoqueryTmp);
|
||
end
|
||
else
|
||
begin
|
||
with adoqueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from BP_InOut');
|
||
sql.Add('where CRNO='+quotedstr(trim(fkeyNO)));
|
||
open;
|
||
Filler:=adoqueryTmp.fieldbyname('Filler').AsString;
|
||
FillTime:=adoqueryTmp.fieldbyname('FillTime').AsDateTime;
|
||
end;
|
||
end;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('delete from YF_Money_CR ');
|
||
sql.Add(' where MainID='''+Trim(fkeyNO)+'''');
|
||
sql.Add(' and YFName=''<27>㶫<EFBFBD><E3B6AB><EFBFBD><EFBFBD>'' ');
|
||
sql.Add('and YFDefFlag1=1 ');
|
||
execsql;
|
||
end;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('delete from BP_InOut');
|
||
sql.Add('where CRNO='+quotedstr(trim(fkeyNO)));
|
||
execsql;
|
||
end;
|
||
CDS_Main.DisableControls;
|
||
CDS_Main.First;
|
||
i:=1;
|
||
|
||
with CDS_Main do
|
||
begin
|
||
while not eof do
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from BP_InOut');
|
||
sql.Add('where 1=2 ');
|
||
open;
|
||
end;
|
||
ADOQueryCmd.Append;
|
||
ADOQueryCmd.FieldByName('CRNO').Value:=trim(fkeyNO);
|
||
ADOQueryCmd.FieldByName('CRID').Value:=i;
|
||
ADOQueryCmd.FieldByName('CKName').Value:=trim(fckName);
|
||
// ADOQueryCmd.FieldByName('mainID').Value:=trim(fmainID);
|
||
// ADOQueryCmd.FieldByName('subID').Value:=trim(fsubID);
|
||
ADOQueryCmd.FieldByName('CRTime').Value:=formatdateTime('yyyy-MM-dd',CRTime.Date);
|
||
ADOQueryCmd.FieldByName('CRType').Value:=trim(crType.Text);
|
||
ADOQueryCmd.FieldByName('CRFlag').Value:='<27><><EFBFBD><EFBFBD>';
|
||
// ADOQueryCmd.FieldByName('MJID').Value:=trim(fieldbyname('MJID').AsString);
|
||
// ADOQueryCmd.FieldByName('MJXH').Value:=trim(fieldbyname('MJXH').AsString);
|
||
// ADOQueryCmd.FieldByName('CPTYPE').Value:=trim(fieldbyname('CPTYPE').AsString);
|
||
// ADOQueryCmd.FieldByName('P_Code').Value:=trim(fieldbyname('P_Code').AsString);
|
||
ADOQueryCmd.FieldByName('P_CodeName').Value:=trim(fieldbyname('P_CodeName').AsString);
|
||
// ADOQueryCmd.FieldByName('P_spec').Value:=trim(fieldbyname('P_spec').AsString);
|
||
ADOQueryCmd.FieldByName('P_Color').Value:=trim(fieldbyname('P_Color').AsString);
|
||
// ADOQueryCmd.FieldByName('P_MF').Value:=fieldbyname('P_MF').AsFloat;
|
||
// ADOQueryCmd.FieldByName('P_KZ').Value:=fieldbyname('P_KZ').AsFloat;
|
||
ADOQueryCmd.FieldByName('RollNum').Value:=0;
|
||
ADOQueryCmd.FieldByName('Qty').Value:=fieldbyname('Qty').AsFloat;
|
||
ADOQueryCmd.FieldByName('Price').Value:=fieldbyname('Price').AsFloat;
|
||
ADOQueryCmd.FieldByName('money').Value:=fieldbyname('money').AsFloat;
|
||
ADOQueryCmd.FieldByName('QtyUnit').Value:=trim(fieldbyname('QtyUnit').AsString);
|
||
// ADOQueryCmd.FieldByName('note').Value:=trim(fieldbyname('note').AsString);
|
||
ADOQueryCmd.FieldByName('Filler').Value:=trim(Filler);
|
||
ADOQueryCmd.FieldByName('FillTime').Value:=dateTimetostr(FillTime);
|
||
ADOQueryCmd.FieldByName('cust').Value:=trim(cust.Text);
|
||
ADOQueryCmd.FieldByName('custaddress').Value:=trim(custaddress.Text);
|
||
ADOQueryCmd.FieldByName('note').Value:=trim(note.Text);
|
||
// ADOQueryCmd.FieldByName('FirstNo').Value:=trim(FirstName.TxtCode);
|
||
// ADOQueryCmd.FieldByName('FirstName').Value:=trim(FirstName.Text);
|
||
if FType=10 then
|
||
begin
|
||
ADOQueryCmd.FieldByName('editer').Value:=trim(dName);
|
||
ADOQueryCmd.FieldByName('editTime').Value:=SGetServerDateTime(ADOQuery1);
|
||
end;
|
||
ADOQueryCmd.Post;
|
||
IF trim(CRType.Text)='<27>㶫<EFBFBD><E3B6AB><EFBFBD><EFBFBD>' then
|
||
begin
|
||
if not YSData(fkeyNo,inttostr(i),CDS_Main) then
|
||
begin
|
||
CDS_Main.EnableControls;
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
exit;
|
||
end;
|
||
end;
|
||
i:=i+1;
|
||
next;
|
||
end;
|
||
end;
|
||
|
||
CDS_Main.EnableControls;
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
result:=true;
|
||
except
|
||
CDS_Main.EnableControls;
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
end;
|
||
end;
|
||
procedure TfrmBpGdCkEdit.SetComboBox();
|
||
begin
|
||
{ ckName.Items.Clear;
|
||
with adoQueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from KH_ZDY where Type=''BPCK'' ');
|
||
if trim(fCKName)<>'' then
|
||
sql.Add('and zdyName='+quotedstr(trim(fCKName)));
|
||
open;
|
||
while not eof do
|
||
begin
|
||
ckName.Items.Add(trim(fieldbyname('zdyName').AsString));
|
||
next;
|
||
end;
|
||
end;
|
||
if ckName.Items.Count>0 then ckName.ItemIndex:=0; }
|
||
|
||
CRType.Items.Clear;
|
||
// CRType.Items.Add('');
|
||
with adoQueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from KH_ZDY where Type=''BPCKTYPE''');
|
||
if trim(fCKName)<>'' then
|
||
sql.Add('and note='+quotedstr(trim(fCKName)));
|
||
open;
|
||
while not eof do
|
||
begin
|
||
CRType.Items.Add(trim(fieldbyname('zdyName').AsString));
|
||
next;
|
||
end;
|
||
end;
|
||
// CRType.Items.Add('<27>㶫<EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>');
|
||
if CRType.Items.Count>0 then CRType.ItemIndex:=0;
|
||
end;
|
||
procedure TfrmBpGdCkEdit.InitGrid();
|
||
begin
|
||
try
|
||
with adoqueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select A.* from BP_InOut A');
|
||
sql.Add('where A.CRNO='+quotedstr(trim(fkeyNO)));
|
||
open;
|
||
end;
|
||
SCreateCDS20(adoqueryTmp,CDS_Main);
|
||
SInitCDSData20(adoqueryTmp,CDS_Main);
|
||
if not CDS_Main.IsEmpty then
|
||
begin
|
||
CRTime.Date:= CDS_Main.fieldbyname('CRTime').AsDateTime;
|
||
// CKName.ItemIndex:=CKName.Items.IndexOf(trim(CDS_Main.fieldbyname('CKName').AsString));
|
||
CRType.ItemIndex:=CRType.Items.IndexOf(trim(CDS_Main.fieldbyname('CRType').AsString));
|
||
cust.Text:= trim(CDS_Main.fieldbyname('cust').AsString);
|
||
custaddress.Text:= trim(CDS_Main.fieldbyname('custaddress').AsString);
|
||
note.Text:= trim(CDS_Main.fieldbyname('note').AsString);
|
||
end;
|
||
finally
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.FormClose(Sender: TObject;
|
||
var Action: TCloseAction);
|
||
begin
|
||
writeCxGrid(self.Caption,Tv1,'<27><>ƥ<EFBFBD>ֿ<EFBFBD>');
|
||
if fType=10 then Action:=cahide
|
||
else Action:=cafree;
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmBpGdCkEdit:=nil;
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.FormShow(Sender: TObject);
|
||
begin
|
||
{ if fType=10 then
|
||
begin
|
||
TOk.Visible:=true;
|
||
// v1Ssel.Visible:=true;
|
||
v1ckqty.Visible:=true;
|
||
v1price.Visible:=true;
|
||
v1money.Visible:=true;
|
||
GroupBox1.Visible:=true;
|
||
end
|
||
else
|
||
begin
|
||
TOk.Visible:=false;
|
||
// v1Ssel.Visible:=false;
|
||
v1ckqty.Visible:=false;
|
||
v1price.Visible:=false;
|
||
v1money.Visible:=false;
|
||
GroupBox1.Visible:=false;
|
||
end; }
|
||
readCxGrid(self.Caption,Tv1,'<27><>ƥ<EFBFBD>ֿ<EFBFBD>');
|
||
SetComboBox();
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.FormCreate(Sender: TObject);
|
||
begin
|
||
//BegDate.Date:=DServerDate-7;
|
||
// EndDate.Date:=DServerDate;
|
||
CRTime.date:= DServerDate;
|
||
cxGrid1.Align:=alclient;
|
||
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.TBCloseClick(Sender: TObject);
|
||
begin
|
||
close;
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.TBRafreshClick(Sender: TObject);
|
||
begin
|
||
|
||
initGrid();
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.TBPrintClick(Sender: TObject);
|
||
var
|
||
filepath:string;
|
||
begin
|
||
if trim(fkeyNO)='' then exit;
|
||
|
||
with AdoPrint do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('exec P_Do_PrintMd ');
|
||
sql.Add('@mainID='+quotedstr(trim(fkeyNO)));
|
||
sql.Add(',@flag='+quotedstr(trim('<27>㶫<EFBFBD><E3B6AB><EFBFBD><EFBFBD>')));
|
||
open;
|
||
end;
|
||
|
||
try
|
||
filepath:=ExtractFilePath(Application.ExeName) + 'report\<5C><><EFBFBD><EFBFBD><EFBFBD>뵥<EFBFBD><EBB5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf';
|
||
if not FileExists(Pchar(filepath)) then
|
||
begin
|
||
application.MessageBox(pchar('<27>ļ<EFBFBD>['+filepath+']<5D><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_IConError);
|
||
exit;
|
||
end;
|
||
RMVariables['dtxz'] :=FormatDateTime('yyyy-mm-dd',date());
|
||
RMVariables['zdr'] :=trim(DName);
|
||
RMVariables['Filler'] :=trim(DName);
|
||
RMGridReport1.LoadFromFile(filepath);
|
||
RMGridReport1.ShowReport;
|
||
finally
|
||
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.TBExportClick(Sender: TObject);
|
||
begin
|
||
if CDS_Main.IsEmpty then Exit;
|
||
TcxGridToExcel(self.Caption,cxgrid1);
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.TOkClick(Sender: TObject);
|
||
begin
|
||
CRTIME.SetFocus;
|
||
IF CDS_Main.IsEmpty then exit;
|
||
if trim(CRType.Text)='' then
|
||
begin
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
||
exit;
|
||
end;
|
||
if trim(cust.Text)=''then
|
||
begin
|
||
application.MessageBox('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
||
exit;
|
||
end;
|
||
if savedate() then
|
||
begin
|
||
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
|
||
TOk.Enabled:=false;
|
||
TBPrint.Enabled:=true;
|
||
// ModalResult:=1;
|
||
end
|
||
else
|
||
begin
|
||
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_ICONERROR);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.custBtnClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmZdyAttachment:=TfrmZdyAttachment.Create(Application);
|
||
with frmZdyAttachment do
|
||
begin
|
||
fkhType:='<27>㶫<EFBFBD>ͻ<EFBFBD>';
|
||
if ShowModal=1 then
|
||
begin
|
||
cust.Text:=Trim(CDS_HZ.fieldbyname('ZDYName').AsString);
|
||
custaddress.Text:=Trim(CDS_HZ.fieldbyname('defnote1').AsString);
|
||
end;
|
||
end;
|
||
finally
|
||
frmZdyAttachment.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.v1ckqtyPropertiesEditValueChanged(Sender: TObject);
|
||
var
|
||
mvalue,fieldname,qty1,qty2:String;
|
||
num1:double;
|
||
|
||
begin
|
||
fieldname:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
|
||
with CDS_Main do
|
||
begin
|
||
Edit;
|
||
FieldByName(Trim(fieldname)).Value:=TcxTextEdit(Sender).EditingText;
|
||
num1:=FieldByName('Qty').AsFloat * FieldByName('Price').AsFloat;
|
||
FieldByName('Money').Value:=strtofloat(format('%.2f',[num1]));
|
||
Post;
|
||
end;
|
||
Tv1.Controller.EditingController.ShowEdit();
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.CheckBox1Click(Sender: TObject);
|
||
begin
|
||
TBRafresh.Click;
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
CopyAddRow(Tv1,CDS_Main);
|
||
CDS_Main.edit;
|
||
CDS_Main.fieldbyname('QtyUnit').Value:='M';
|
||
CDS_Main.Post;
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.ToolButton2Click(Sender: TObject);
|
||
begin
|
||
if CDS_Main.IsEmpty then exit;
|
||
CDS_Main.Delete;
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.v1P_CodeNamePropertiesEditValueChanged(
|
||
Sender: TObject);
|
||
var
|
||
mvalue:string;
|
||
begin
|
||
mvalue:=TcxTextEdit(Sender).EditingText;
|
||
|
||
IF trim(mvalue)='' then exit;
|
||
|
||
IF rightBstr(trim(mvalue),1)<>'#'THEN
|
||
BEGIn
|
||
mvalue:=trim(mvalue)+'#';
|
||
END;
|
||
|
||
|
||
with CDS_Main do
|
||
begin
|
||
Edit;
|
||
FieldByName('P_CodeName').Value:=Trim(mvalue);
|
||
Post;
|
||
end;
|
||
self.tv1.Controller.EditingController.ShowEdit();
|
||
DoKc();
|
||
|
||
with ADOQuery1 do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from KH_Zdy_Attachment A ');
|
||
sql.Add('where zdyName='+quotedstr(trim(CDS_Main.fieldbyname('P_CodeName').AsString)));
|
||
open;
|
||
end;
|
||
IF ADOQuery1.IsEmpty then
|
||
begin
|
||
application.MessageBox('Ʒ<><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
||
with CDS_Main do
|
||
begin
|
||
Edit;
|
||
FieldByName('P_CodeName').Value:='';
|
||
Post;
|
||
end;
|
||
exit;
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.v1P_ColorPropertiesEditValueChanged(
|
||
Sender: TObject);
|
||
var
|
||
mvalue:string;
|
||
begin
|
||
mvalue:=TcxTextEdit(Sender).EditingText;
|
||
|
||
IF trim(mvalue)='' then exit;
|
||
|
||
IF rightBstr(trim(mvalue),1)<>'#'THEN
|
||
BEGIn
|
||
mvalue:=trim(mvalue)+'#';
|
||
END;
|
||
|
||
|
||
with CDS_Main do
|
||
begin
|
||
Edit;
|
||
FieldByName('P_Color').Value:=Trim(mvalue);
|
||
Post;
|
||
end;
|
||
self.tv1.Controller.EditingController.ShowEdit();
|
||
DoKc();
|
||
|
||
with ADOQuery1 do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from KH_Zdy_Attachment A ');
|
||
sql.Add('where zdyName='+quotedstr(trim(CDS_Main.fieldbyname('P_CodeName').AsString)));
|
||
sql.Add('and DEFstr3='+quotedstr(trim(CDS_Main.fieldbyname('P_Color').AsString)));
|
||
open;
|
||
end;
|
||
IF ADOQuery1.IsEmpty then
|
||
begin
|
||
application.MessageBox('<27><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
||
with CDS_Main do
|
||
begin
|
||
Edit;
|
||
FieldByName('P_Color').Value:='';
|
||
Post;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.Tv1CellClick(Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
begin
|
||
DoKc();
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.v1P_CodeNamePropertiesButtonClick(Sender: TObject;
|
||
AButtonIndex: Integer);
|
||
begin
|
||
try
|
||
frmZdyAttachCP:=TfrmZdyAttachCP.Create(Application);
|
||
with frmZdyAttachCP do
|
||
begin
|
||
if ShowModal=1 then
|
||
begin
|
||
Self.CDS_main.Edit;
|
||
Self.CDS_main.FieldByName('P_Code').Value:=Trim(CDS_HZ.fieldbyname('ZdyCode').AsString);
|
||
Self.CDS_main.FieldByName('P_CodeName').Value:=Trim(CDS_HZ.fieldbyname('ZDYName').AsString);
|
||
Self.CDS_main.FieldByName('P_Color').Value:=Trim(CDS_HZ.fieldbyname('DEFstr3').AsString);
|
||
// Self.Order_Sub.FieldByName('SOrddefstr4').Value:=Trim(ClientDataSet1.fieldbyname('Note').AsString);
|
||
Self.CDS_main.Post;
|
||
end;
|
||
end;
|
||
finally
|
||
frmZdyAttachCP.Free;
|
||
end;
|
||
self.tv1.Controller.EditingController.ShowEdit();
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.Tv1CustomDrawIndicatorCell(
|
||
Sender: TcxGridTableView; ACanvas: TcxCanvas;
|
||
AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
|
||
var
|
||
FValue: string;
|
||
FBounds: TRect;
|
||
begin
|
||
FBounds := AViewInfo.Bounds;
|
||
if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then
|
||
begin
|
||
ACanvas.FillRect(FBounds);
|
||
ACanvas.DrawComplexFrame(FBounds, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1);
|
||
FValue :=IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index+1);
|
||
InflateRect(FBounds, -1, -1) ;
|
||
ACanvas.Font.Color := clBlack;
|
||
ACanvas.Brush.Style := bsClear;
|
||
ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop);
|
||
ADone := True;
|
||
end;
|
||
end;
|
||
|
||
|
||
procedure TfrmBpGdCkEdit.TBKCClick(Sender: TObject);
|
||
begin
|
||
frmBpkcCk:=TfrmBpkcCk.create(self);
|
||
with frmBpkcCk do
|
||
begin
|
||
TOk.Visible:=true;
|
||
v1Ssel.Visible:=true;
|
||
fCKName:=self.fCKName;
|
||
if showmodal=1 then
|
||
begin
|
||
CDS_Main.DisableControls;
|
||
self.CDS_Main.DisableControls;
|
||
CDS_Main.First;
|
||
while not CDS_Main.Eof do
|
||
begin
|
||
IF CDS_Main.FieldByName('ssel').AsBoolean then
|
||
begin
|
||
self.CDS_Main.Append;
|
||
self.CDS_Main.fieldbyname('P_CodeName').Value:=CDS_Main.fieldbyname('P_CodeName').Value;
|
||
self.CDS_Main.fieldbyname('P_Color').Value:=CDS_Main.fieldbyname('P_Color').Value;
|
||
self.CDS_Main.fieldbyname('Qty').Value:=CDS_Main.fieldbyname('Qty').AsFloat;
|
||
self.CDS_Main.fieldbyname('QtyUnit').Value:='M';
|
||
self.CDS_Main.fieldbyname('price').Value:=0;
|
||
self.CDS_Main.fieldbyname('money').Value:=0;
|
||
self.CDS_Main.Post;
|
||
end;
|
||
CDS_Main.Next;
|
||
end;
|
||
CDS_Main.EnableControls;
|
||
self.CDS_Main.EnableControls;
|
||
end;
|
||
free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmBpGdCkEdit.CRTypeChange(Sender: TObject);
|
||
begin
|
||
TBKC.Visible:=false;
|
||
If pos('<27>̵<EFBFBD>',trim(CRType.Text))>0 then
|
||
begin
|
||
TBKC.Visible:=true;
|
||
end;
|
||
end;
|
||
|
||
end.
|