D7FZaideng/坯布仓库/U_CPCKMXLR.pas
DESKTOP-E401PHE\Administrator 82c6347dad ~
2025-04-30 16:21:22 +08:00

946 lines
28 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_CPCKMXLR;
interface
uses
Windows, Messages, SysUtils, StrUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, MMSystem,
cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxButtonEdit, cxDropDownEdit,
DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, BtnEdit, cxContainer,
cxTextEdit, cxCurrencyEdit, cxCheckBox, Menus, RM_Common, RM_Class, RM_e_Xls,
RM_Dataset, RM_System, RM_GridReport, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, cxMaskEdit;
type
TfrmCPCKMXLR = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
Panel3: TPanel;
ADOQueryMain: TADOQuery;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ADOQueryPrint: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
cxGrid2: TcxGrid;
TvMX: TcxGridDBTableView;
vMXColumn1: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
ToolButton3: TToolButton;
vMXColumn2: TcxGridDBColumn;
Panel1: TPanel;
ComboBox1: TComboBox;
Label1: TLabel;
Label2: TLabel;
XS: TEdit;
vMXColumn3: TcxGridDBColumn;
vMXColumn4: TcxGridDBColumn;
Label3: TLabel;
Qty: TEdit;
Label4: TLabel;
ComboBox2: TComboBox;
Label5: TLabel;
gangno: TEdit;
vMXColumn5: TcxGridDBColumn;
Label6: TLabel;
KGQTY: TEdit;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
CheckBox1: TCheckBox;
MXNOTE: TEdit;
Label7: TLabel;
CheckBox2: TCheckBox;
ComboBox3: TComboBox;
ToolButton4: TToolButton;
TvMXColumn1: TcxGridDBColumn;
ToolButton5: TToolButton;
LABNAME: TcxButtonEdit;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
TT: TEdit;
Label11: TLabel;
KH: TEdit;
Label12: TLabel;
KUANHAO: TEdit;
Label13: TLabel;
GUIGE: TEdit;
TvMXColumn2: TcxGridDBColumn;
TvMXColumn3: TcxGridDBColumn;
TvMXColumn4: TcxGridDBColumn;
TvMXColumn5: TcxGridDBColumn;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure TBCloseClick(Sender: TObject);
procedure FHAddressBtnDnClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure TvMXCustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure cxGridDBColumn8PropertiesEditValueChanged(Sender: TObject);
procedure TvMXKeyPress(Sender: TObject; var Key: Char);
procedure TvMXKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure QtyKeyPress(Sender: TObject; var Key: Char);
procedure KGQTYKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure LABNAMEPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
private
procedure InitGrid();
procedure PrtData(FJYID: string);
function savedate(): Boolean;
{ Private declarations }
public
fkeyNO,fkeyNOS, fkeyID, FMXGangHao: string;
FType: integer;
fCKName: string;
FCRTYPE: string;
{ Public declarations }
end;
var
frmCPCKMXLR: TfrmCPCKMXLR;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_ZdyAttachment, U_FUN;
{$R *.dfm}
procedure TfrmCPCKMXLR.PrtData(FJYID: string);
var
fPrintFile: string;
Txt, fImagePath, Txt2, fImagePath2: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' EXEC P_Print_JYLab ');
SQL.Add(' @mjID=''' + Trim(FJYID) + '''');
Open;
end;
if ADOQueryPrint.IsEmpty then
begin
application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
ExportFtErpFile('<27><>ƥ<EFBFBD><C6A5>ǩ.rmf', ADOQueryTmp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>ƥ<EFBFBD><C6A5>ǩ.rmf';
if FileExists(fPrintFile) then
begin
RMVariables['MXMJXH'] := CDS_MAIN.FIELDBYNAME('MXMJXH').ASSTRING;
RMVariables['MXGangHao'] := CDS_MAIN.FIELDBYNAME('MXGangHao').ASSTRING;
RMVariables['MXQty'] := CDS_MAIN.FIELDBYNAME('MXQty').ASSTRING;
RMVariables['MXQTY2'] := CDS_MAIN.FIELDBYNAME('MXQTY2').ASSTRING;
RMVariables['MXUnit'] := CDS_MAIN.FIELDBYNAME('MXUnit').ASSTRING;
RMVariables['MXFM'] := CDS_MAIN.FIELDBYNAME('MXFM').ASSTRING;
RMVariables['mxtt'] := CDS_MAIN.FIELDBYNAME('mxtt').ASSTRING;
RMVariables['mxkh'] := CDS_MAIN.FIELDBYNAME('mxkh').ASSTRING;
RMVariables['mxkuanno'] := CDS_MAIN.FIELDBYNAME('mxkuanno').ASSTRING;
RMVariables['mxspec'] := CDS_MAIN.FIELDBYNAME('mxspec').ASSTRING;
RM1.LoadFromFile(fPrintFile);
RM1.DefaultCopies := strtointdef(trim(ComboBox3.Text), 1);
RM1.PrintReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
function TfrmCPCKMXLR.savedate(): Boolean;
var
MaxNo: string;
begin
result := false;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_Main.DisableControls;
CDS_Main.First;
with CDS_Main do
begin
while not eof do
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * ');
sql.Add(',MaxRollNo=(select max(isnull(MXMJXH,0)) from CK_SXPB_CRMX X where X.CRNO=''' + trim(fkeyNo) + ''' )');
sql.Add(' from CK_SXPB_CRMX A');
sql.Add('where MXID=' + quotedstr(Trim(CDS_Main.FieldByName('MXID').AsString)));
// ShowMessage(sql.Text);
open;
end;
if ADOQueryCmd.IsEmpty then
begin
if GetLSNo(ADOQueryTmp, MaxNo, 'MCM', 'CK_SXPB_CRMX', 4, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
// with ADOQueryCmd do
// begin
// close;
// sql.Clear;
// sql.Add('select * ');
// sql.Add(',MaxRollNo=(select max(isnull(MXMJXH,0)) from CK_SXPB_CRMX X where X.CRNO=''' + trim(fkeyNo) + ''' )');
// sql.Add(' from CK_SXPB_CRMX A');
// sql.Add('where CRNO=' + quotedstr(Trim(fkeyNo)));
//// ShowMessage(sql.Text);
// open;
// end;
//
// with CDS_Main do
// begin
// Edit;
// if FieldByName('mxmjxh').AsString = '' then
// begin
// FieldByName('mxmjxh').Value := ADOQueryCmd.fieldbyname('MaxRollNo').AsInteger + 1;
// end;
//
// Post;
// end;
ADOQueryCmd.Append;
end
else
begin
MaxNo := Trim(CDS_Main.FieldByName('MXID').AsString);
ADOQueryCmd.Edit;
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ
RTSetSaveDataCDS(ADOQueryCmd, TvMX, CDS_Main, 'CK_SXPB_CRMX', 0);
ADOQueryCmd.fieldbyname('kcqty').Value := CDS_Main.fieldbyname('MXqty').AsString;
ADOQueryCmd.fieldbyname('kcqty2').Value := CDS_Main.fieldbyname('MXqty2').AsString;
ADOQueryCmd.FieldByName('CRZT').Value := trim(FCRTYPE);
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('Update CK_SXPB_CRMX Set CKNO=(select kuwei from BP_InOut A where A.crno=CK_SXPB_CRMX.CRNO and A.CRID=CK_SXPB_CRMX.CRID)');
sql.Add(' where CRNO=''' + Trim(fkeyNO) + '''');
sql.Add(' and crid=''' + Trim(fkeyID) + '''');
// ShowMessage(sql.Text);
ExecSQL;
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
ADOQueryCmd.FieldByName('CRNO').Value := trim(fkeyNo);
ADOQueryCmd.FieldByName('CRNOS').Value := trim(fkeyNoS);
ADOQueryCmd.FieldByName('CRID').Value := trim(fkeyID);
ADOQueryCmd.FieldByName('MXNOTE').Value := trim(MXNOTE.Text);
ADOQueryCmd.FieldByName('MXID').Value := trim(MaxNo);
ADOQueryCmd.Post;
CDS_Main.Edit;
CDS_Main.FieldByName('MXID').Value := trim(MaxNo);
CDS_Main.post;
// <20><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>
if Trim(edit3.Text) = 'Kg' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update BP_InOut Set Qty=(select sum(isnull(mxqty,0)) from CK_SXPB_CRMX A where A.crno=BP_InOut.CRNO and A.CRID=BP_InOut.CRID');
sql.Add('),RollNum=(select count(mxid) from CK_SXPB_CRMX A where A.crno=BP_InOut.CRNO and A.CRID=BP_InOut.CRID');
sql.Add(' ) where CRNO=''' + Trim(fkeyNO) + '''');
sql.Add(' and crid=''' + Trim(fkeyID) + '''');
// ShowMessage(sql.Text);
ExecSQL;
end;
// with ADOQueryCmd do
// begin
// Close;
// sql.Clear;
// sql.Add('Update BP_InOut Set MXKCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
// sql.Add(',MXKCPiQty=(select sum(isnull(PiQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
// sql.Add(' where SPID=''' + Trim(Edit2.Text) + '''');
// ExecSQL;
// end;
// with ADOQueryTmp do
// begin
// Close;
// sql.Clear;
// sql.Add('select * from CK_SXPB_CR where SPID=''' + Trim(Edit2.Text) + '''');
// Open;
// end;
// if ADOQueryTmp.FieldByName('MXKCQty').Value < 0 then
// begin
// CDS_Main.EnableControls;
// ADOQueryCmd.Connection.RollbackTrans;
// Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>!', '<27><>ʾ', 0);
// Exit;
// end;
end
else
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update BP_InOut Set Qty=(select sum(isnull(mxqty2,0)) from CK_SXPB_CRMX A where A.crno=BP_InOut.CRNO and A.CRID=BP_InOut.CRID');
sql.Add('),RollNum=(select count(mxid) from CK_SXPB_CRMX A where A.crno=BP_InOut.CRNO and A.CRID=BP_InOut.CRID');
sql.Add(' ) where CRNO=''' + Trim(fkeyNO) + '''');
sql.Add(' and crid=''' + Trim(fkeyID) + '''');
// ShowMessage(sql.Text);
ExecSQL;
end;
// with ADOQueryCmd do
// begin
// Close;
// sql.Clear;
// sql.Add('Update CK_SXPB_CR Set MXKCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
// sql.Add(',MXKCPiQty=(select sum(isnull(PiQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
// sql.Add(' where SPID=''' + Trim(Edit2.Text) + '''');
// ExecSQL;
// end;
// with ADOQueryTmp do
// begin
// Close;
// sql.Clear;
// sql.Add('select * from CK_SXPB_CR where SPID=''' + Trim(Edit2.Text) + '''');
// Open;
// end;
// if ADOQueryTmp.FieldByName('MXKCQty').Value < 0 then
// begin
// CDS_Main.EnableControls;
// ADOQueryCmd.Connection.RollbackTrans;
// Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>!', '<27><>ʾ', 0);
// Exit;
// end;
end;
with ADOQuery2 do
begin
Close;
sql.Clear;
SQL.Add('update CK_SXPB_CRMX set kcqty2=mxqty2-(select isnull(sum(mxqty2),0) from CK_SXPB_CRMX mx where mx.fzmxid=CK_SXPB_CRMX.mxid and crzt=''<27><><EFBFBD><EFBFBD>'' ) ');
SQL.Add(' where mxid=''' + Trim(MaxNo) + ''' ');
// ShowMessage(sql.Text);
ExecSQL;
end;
CDS_Main.next;
end;
end;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
result := true;
except
CDS_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmCPCKMXLR.InitGrid();
begin
try
with adoqueryMain do
begin
close;
sql.Clear;
sql.Add('select * from CK_SXPB_CRMX A where CRNO=' + quotedstr(trim(fkeyNO)));
sql.Add(' and CRID=' + quotedstr(trim(fkeyID)));
sql.Add(' and CRZT= ''<27><><EFBFBD><EFBFBD>''');
// SQL.Add('AND CRZT=' + QuotedStr(FCRTYPE));
// SQL.Add('AND NOT EXISTS(SELECT MXID FROM CK_SXPB_CRMX C WHERE C.FZMXID=A.MXID)');
sql.Add(' order by MXID');
// ShowMessage(SQL.Text);
open;
end;
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
MXNOTE.Text := adoqueryMain.FieldByName('MXNOTE').AsString;
finally
end;
// with ADOQueryTmp do
// begin
// close;
// sql.Clear;
// sql.Add('select * from JYOrder_Main A inner join JYOrder_sub b on a.mainid=b.mainid ');
// SQL.Add('where subid=(select ordsubidrk from CK_SXPB_CR c where c.spid= ' + QuotedStr(Trim(fkeyNO)));
// sql.Add(')');
//
//// ShowMessage(SQL.Text);
// open;
// end;
// if ADOQueryTmp.IsEmpty = false then
// begin
// KUANHAO.TEXT := ADOQueryTmp.FieldByName('PRTKUANNO').AsString;
// KH.TEXT := ADOQueryTmp.FieldByName('BQKH').AsString;
// GUIGE.TEXT := ADOQueryTmp.FieldByName('MPRTCF').AsString;
// tt.TEXT := ADOQueryTmp.FieldByName('BJTT').AsString;
// xs.TEXT := ADOQueryTmp.FieldByName('prtbili').AsString;
// end;
// with ADOQueryTmp do
// begin
// close;
// sql.Clear;
// sql.Add('select * from CK_SXPB_CRMX A where CRNO=' + quotedstr(trim(fkeyNO)));
//
// sql.Add(' order by MXID');
//// ShowMessage(SQL.Text);
// open;
// end;
//
// if ADOQueryTmp.IsEmpty = false then
// begin
// KUANHAO.TEXT := ADOQueryTmp.FieldByName('mxkuanno').AsString;
// KH.TEXT := ADOQueryTmp.FieldByName('mxkh').AsString;
// GUIGE.TEXT := ADOQueryTmp.FieldByName('mxspec').AsString;
// tt.TEXT := ADOQueryTmp.FieldByName('mxtt').AsString;
// end
// else
// begin
// with ADOQueryTmp do
// begin
// close;
// sql.Clear;
// SQL.Add('select top 1 a.* from CK_SXPB_CRMX a inner join CK_SXPB_CR b on a.crno=b.spid ');
// SQL.Add('where b.QCorderNo=(select QCorderNo from CK_SXPB_CR b where spid=' + QuotedStr(Trim(fkeyNO)));
// SQL.Add(')');
// sql.Add('order by mxid desc');
// Open;
// end;
// KUANHAO.TEXT := ADOQueryTmp.FieldByName('mxkuanno').AsString;
// KH.TEXT := ADOQueryTmp.FieldByName('mxkh').AsString;
// GUIGE.TEXT := ADOQueryTmp.FieldByName('mxspec').AsString;
// tt.TEXT := ADOQueryTmp.FieldByName('mxtt').AsString;
// if ADOQueryTmp.IsEmpty = True then
// begin
// with ADOQueryTmp do
// begin
// close;
// sql.Clear;
// SQL.Add('SELECT * FROM JYORDER_MAIN A INNER JOIN JYORDER_SUB B ON A.MAINID=B.MAINID WHERE ');
// SQL.Add('B.MAINID=(SELECT ORDMAINIDRK FROM CK_SXPB_CR C WHERE C.SPID=' + QuotedStr(Trim(fkeyNO)));
// SQL.Add(')');
//// ShowMessage(sql.Text);
// Open;
// end;
// KUANHAO.TEXT := ADOQueryTmp.FieldByName('prtkuanno').AsString;
// KH.TEXT := ADOQueryTmp.FieldByName('CustomerNoName').AsString;
// GUIGE.TEXT := ADOQueryTmp.FieldByName('MPRTSpec').AsString;
// end;
// end;
end;
procedure TfrmCPCKMXLR.FormDestroy(Sender: TObject);
begin
frmCPCKMXLR := nil;
end;
procedure TfrmCPCKMXLR.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cahide;
end;
procedure TfrmCPCKMXLR.FormShow(Sender: TObject);
var
fbhType, fInoutNo: string;
begin
readCxGrid(self.Caption, TvMX, '<27><><EFBFBD>ϲֿ<CFB2>1');
InitGrid();
end;
procedure TfrmCPCKMXLR.TBSaveClick(Sender: TObject);
var
FQTY, FKGQTY, FPIQTY: Double;
FQTY1, FPIQTY1: Double;
begin
if cds_main.IsEmpty then
exit;
ToolBar1.SetFocus;
// FKGQTY := TvMX.DataController.Summary.FooterSummaryValues[1];
// FQTY := TvMX.DataController.Summary.FooterSummaryValues[3];
// FPIQTY := TvMX.DataController.Summary.FooterSummaryValues[2];
//
// FKGQTY1 := StrToFloatDef(Edit1.Text, 0);
// FQTY1 := StrToFloatDef(Edit3.Text, 0);
// FPIQTY1 := StrToFloatDef(Edit2.Text, 0);
//
// if (FKGQTY > FKGQTY1) or (FQTY > FQTY1) or (FPIQTY > FPIQTY1) then
// begin
// application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
// Exit;
// end;
if savedate() then
begin
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
ModalResult := 1;
Exit;
end
else
begin
// application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
end;
end;
procedure TfrmCPCKMXLR.v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'Cloth';
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
Self.CDS_Main.Edit;
Self.CDS_Main.FieldByName('P_CodeName').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
Self.CDS_Main.FieldByName('P_Code').Value := Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCPCKMXLR.TBCloseClick(Sender: TObject);
begin
writeCxGrid(self.Caption, TvMX, '<27><><EFBFBD>ϲֿ<CFB2>1');
// ModalResult := 1;
close;
end;
procedure TfrmCPCKMXLR.FHAddressBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text := '';
TBtnEditC(Sender).TxtCode := '';
end;
procedure TfrmCPCKMXLR.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmCPCKMXLR.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmCPCKMXLR.ToolButton1Click(Sender: TObject);
var
i: Integer;
begin
for i := 1 to 10 do
begin
with CDS_Main do
begin
Append;
FieldByName('MXGangHao').Value := FMXGangHao;
FieldByName('MXQty').Value := 0;
FieldByName('MXQty2').Value := 0;
Post;
end;
end;
end;
procedure TfrmCPCKMXLR.ToolButton2Click(Sender: TObject);
begin
if cds_main.IsEmpty then
exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete CK_SXPB_CRMX where MXID=' + quotedstr(Trim(CDS_Main.FieldByName('MXID').AsString)));
ExecSQL;
end;
CDS_Main.Delete;
end;
procedure TfrmCPCKMXLR.TvMXCustomDrawIndicatorCell(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); //Platform specific. May not work on Linux.
ACanvas.Font.Color := clBlack;
ACanvas.Brush.Style := bsClear;
ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop);
ADone := True;
end;
end;
procedure TfrmCPCKMXLR.ToolButton3Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
OneKeyPost(TvMX, CDS_Main);
end;
procedure TfrmCPCKMXLR.cxGridDBColumn8PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
FZL, FCD, FXS: DOUBLE;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(TvMX.Controller.FocusedColumn.DataBinding.FilterFieldName);
with cds_main do
begin
Edit;
FieldByName(FFieldName).Value := (strtofloatdef(trim(mvalue), 0));
Post;
end;
with cds_main do
begin
Edit;
FZL := (strtofloatdef(trim(FieldByName('MXQTY').ASSTRING), 0)); //<2F><><EFBFBD><EFBFBD>
FCD := (strtofloatdef(trim(FieldByName('MXQTY2').ASSTRING), 0)); //<2F><><EFBFBD><EFBFBD>
FXS := (strtofloatdef(trim(xs.TEXT), 0)); //ϵ<><CFB5>
if FFieldName = 'mxqty' then
begin
FieldByName('mxqty2').Value := FZL * FXS;
end;
if FFieldName = 'mxqty2' then
begin
FieldByName('mxqty').Value := FCD * FXS;
end;
Post;
end;
TvMX.Controller.EditingController.ShowEdit();
end;
procedure TfrmCPCKMXLR.TvMXKeyPress(Sender: TObject; var Key: Char);
begin
TvMX.OptionsData.Editing := False;
if Key = #13 then
Key := #40;
TvMX.OptionsData.Editing := True;
end;
procedure TfrmCPCKMXLR.TvMXKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
TvMX.OptionsData.Editing := False;
if Key = 13 then
Key := 40;
TvMX.OptionsData.Editing := True;
end;
procedure TfrmCPCKMXLR.QtyKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CDS_Main.Last;
CopyAddRowCDS(CDS_Main);
with CDS_Main do
begin
Edit;
FieldByName('MXGangHao').Value := gangno.Text;
FieldByName('mxtt').Value := TT.Text;
FieldByName('mxkh').Value := KH.Text;
FieldByName('mxkuanno').Value := KUANHAO.Text;
FieldByName('mxspec').Value := guige.Text;
FieldByName('MXID').Value := '';
FieldByName('CRNO').Value := '';
// FieldByName('MXMJXH').Value := null;
FieldByName('MXMJXH').Value := StrToFloatDef(FieldByName('MXMJXH').asstring, 0) + 1;
if CDS_Main.FieldByName('MXUnit').AsString = '' then
FieldByName('MXUnit').Value := 'Y';
if XS.Text <> '' then
begin
if ComboBox2.Text = 'KG' then
begin
FieldByName('MXQty').Value := strtofloatdef(KGQty.Text, 0);
FieldByName('MXQty2').Value := Format('%.1f', [StrToFloatDef(KGQty.Text, 0) * StrToFloatDef(xs.Text, 0)]);
end
else
begin
FieldByName('MXQty2').Value := strtofloatdef(Qty.Text, 0);
FieldByName('MXQty').Value := Format('%.1f', [StrToFloatDef(Qty.Text, 0) * StrToFloatDef(xs.Text, 0)]);
// FieldByName('MXUnit').Value := combobox2.Text;
end;
end
else
begin
FieldByName('MXQty').Value := strtofloatdef(KGQty.Text, 0);
FieldByName('MXQty2').Value := strtofloatdef(Qty.Text, 0);
end;
Post;
end;
if CheckBox2.Checked = True then
begin
PrtData(Edit2.Text);
end;
Qty.Text := '';
KGQTY.Text := '';
KGQty.SetFocus;
end;
end;
procedure TfrmCPCKMXLR.KGQTYKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
if CheckBox1.Checked = True then
begin
CDS_Main.Last;
CopyAddRowCDS(CDS_Main);
with CDS_Main do
begin
Edit;
FieldByName('MXGangHao').Value := gangno.Text;
FieldByName('mxtt').Value := TT.Text;
FieldByName('mxkh').Value := KH.Text;
FieldByName('mxkuanno').Value := KUANHAO.Text;
FieldByName('mxspec').Value := guige.Text;
FieldByName('MXID').Value := '';
FieldByName('CRNO').Value := '';
// FieldByName('MXMJXH').Value := null;
FieldByName('MXMJXH').Value := StrToFloatDef(FieldByName('MXMJXH').asstring, 0) + 1;
if CDS_Main.FieldByName('MXUnit').AsString = '' then
FieldByName('MXUnit').Value := 'Y';
if XS.Text <> '' then
begin
if ComboBox2.Text = 'KG' then
begin
FieldByName('MXQty').Value := strtofloatdef(KGQty.Text, 0);
FieldByName('MXQty2').Value := Format('%.1f', [StrToFloatDef(KGQty.Text, 0) * StrToFloatDef(xs.Text, 0)]);
end
else
begin
FieldByName('MXQty2').Value := strtofloatdef(Qty.Text, 0);
FieldByName('MXQty').Value := Format('%.1f', [StrToFloatDef(Qty.Text, 0) * StrToFloatDef(xs.Text, 0)]);
// FieldByName('MXUnit').Value := combobox2.Text;
end;
end
else
begin
FieldByName('MXQty').Value := strtofloatdef(KGQty.Text, 0);
FieldByName('MXQty2').Value := strtofloatdef(Qty.Text, 0);
end;
Post;
end;
if CheckBox2.Checked = True then
begin
PrtData(Edit2.Text);
end;
Qty.Text := '';
KGQTY.Text := '';
KGQty.SetFocus;
end
else
begin
QTY.SetFocus;
end;
end;
// if Key = #13 then
// begin
// CopyAddRowCDS(CDS_Main);
// with CDS_Main do
// begin
// Edit;
// FieldByName('MXGangHao').Value := gangno.Text;
// FieldByName('MXID').Value := '';
// FieldByName('CRNO').Value := '';
// FieldByName('MXMJXH').Value := null;
// if CDS_Main.FieldByName('MXUnit').AsString = '' then
// FieldByName('MXUnit').Value := 'M';
// if XS.Text <> '' then
// begin
// if ComboBox2.Text = 'KG' then
// begin
// FieldByName('MXQty').Value := strtofloatdef(KGQty.Text, 0);
// FieldByName('MXQty2').Value := Format('%.1f', [StrToFloatDef(KGQty.Text, 0) * StrToFloatDef(xs.Text, 0)]);
// end
// else
// begin
// FieldByName('MXQty2').Value := strtofloatdef(Qty.Text, 0);
// FieldByName('MXQty').Value := Format('%.1f', [StrToFloatDef(Qty.Text, 0) * StrToFloatDef(xs.Text, 0)]);
// FieldByName('MXUnit').Value := combobox2.Text;
// end;
// end
// else
// begin
// FieldByName('MXQty').Value := strtofloatdef(KGQty.Text, 0);
// FieldByName('MXQty2').Value := strtofloatdef(Qty.Text, 0);
// if combobox2.Text <> 'KG' then
// begin
// FieldByName('MXUnit').Value := combobox2.Text;
// end
// else
// begin
// FieldByName('MXUnit').Value := 'M';
// end;
//
// end;
//
// Post;
// end;
//
// Qty.Text := '';
// KGQTY.Text := '';
// Qty.SetFocus;
// end;
end;
procedure TfrmCPCKMXLR.ToolButton4Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while not Eof do
begin
if CDS_Main.FieldByName('SSel').AsBoolean = True then
begin
PrtData(CDS_Main.fieldbyname('MXID').AsString);
end;
Next;
end;
end;
CDS_Main.EnableControls;
end;
procedure TfrmCPCKMXLR.ToolButton5Click(Sender: TObject);
var
fPrintFile: string;
Txt, fImagePath, Txt2, fImagePath2: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' EXEC P_Print_JYLab ');
SQL.Add(' @mjID=''' + Trim(CDS_Main.fieldbyname('MXID').AsString) + '''');
Open;
end;
if ADOQueryPrint.IsEmpty then
begin
application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
ExportFtErpFile('<27><>ƥ<EFBFBD><C6A5>ǩ.rmf', ADOQueryTmp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>ƥ<EFBFBD><C6A5>ǩ.rmf';
if FileExists(fPrintFile) then
begin
RMVariables['MXMJXH'] := CDS_MAIN.FIELDBYNAME('MXMJXH').ASSTRING;
RMVariables['MXGangHao'] := CDS_MAIN.FIELDBYNAME('MXGangHao').ASSTRING;
RMVariables['MXQty'] := CDS_MAIN.FIELDBYNAME('MXQty').ASSTRING;
RMVariables['MXQTY2'] := CDS_MAIN.FIELDBYNAME('MXQTY2').ASSTRING;
RMVariables['MXUnit'] := CDS_MAIN.FIELDBYNAME('MXUnit').ASSTRING;
RMVariables['MXFM'] := CDS_MAIN.FIELDBYNAME('MXFM').ASSTRING;
RMVariables['mxtt'] := CDS_MAIN.FIELDBYNAME('mxtt').ASSTRING;
RMVariables['mxkh'] := CDS_MAIN.FIELDBYNAME('mxkh').ASSTRING;
RMVariables['mxkuanno'] := CDS_MAIN.FIELDBYNAME('mxkuanno').ASSTRING;
RMVariables['mxspec'] := CDS_MAIN.FIELDBYNAME('mxspec').ASSTRING;
RM1.LoadFromFile(fPrintFile);
RM1.DefaultCopies := strtointdef(trim(ComboBox3.Text), 1);
RM1.showReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmCPCKMXLR.LABNAMEPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
// try
// frmZDYHelp := TfrmZDYHelp.Create(Application);
// with frmZDYHelp do
// begin
// flag := 'LABNAME';
// flagname := '<27><>ǩ<EFBFBD><C7A9>ʽ';
// if ShowModal = 1 then
// begin
// Self.LABNAME.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
// end;
// end;
// finally
// frmZDYHelp.Free;
// end;
end;
end.