D7wmguihua/坯布码单待检(PBMDDJ.dll)/U_YPCRIn.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

596 lines
17 KiB
ObjectPascal
Raw 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_YPCRIn;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics,
cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGrid, ADODB, DBClient,
cxButtonEdit, cxDropDownEdit, cxCalendar, cxGridCustomPopupMenu,
cxGridPopupMenu;
type
TfrmYPCRIn = class(TForm)
ToolBar1: TToolBar;
BtnSave: TToolButton;
BtnExit: TToolButton;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
v1P_ChnName: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
v1Quantity: TcxGridDBColumn;
v1UnitName: TcxGridDBColumn;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
DataSource1: TDataSource;
CDS_Sub: TClientDataSet;
ADOQueryMain: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryTemp: TADOQuery;
ToolButton4: TToolButton;
v1Column1: TcxGridDBColumn;
ToolButton1: TToolButton;
v1Column3: TcxGridDBColumn;
cxGridPopupMenu1: TcxGridPopupMenu;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
procedure FormCreate(Sender: TObject);
procedure BtnExitClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure BtnSaveClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure v1P_ChnNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1Column18PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1Column4PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
private
FCRID:String;
procedure InitGrid();
function SaveData():Boolean;
procedure SaveKCData();
{ Private declarations }
public
FMainID:string;
FCopyInt:Integer;
{ Public declarations }
end;
var
frmYPCRIn: TfrmYPCRIn;
implementation
uses
U_DataLink,U_RTFun,U_ZDYHelp,U_CPSel;
{$R *.dfm}
procedure TfrmYPCRIn.FormCreate(Sender: TObject);
begin
cxGrid1.Align:=alClient;
end;
procedure TfrmYPCRIn.BtnExitClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>STInput',Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmYPCRIn.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
SQL.Add('select A.CRTime,A.CRID,A.BCID,A.Qty,A.QtyUnit,A.CYColor,A.Note,A.CYType,A.BCID ');
sql.Add(' ,A.CRPrice,A.BZTYpe,A.PBFactory,A.RCFactory,A.HJGFactory,A.CYID,A.WeiZhi,A.MiLenNote');
SQL.Add(',B.CYNO,B.CYName,B.CYMF,B.CYKZ,B.CYSpec,B.CYCF,B.CYHX');
sql.Add(' from CK_YP_CR A');
sql.Add(' inner join CP_YDang B on A.CYID=B.CYID');
SQL.Add(' where BCId='''+Trim(FMainID)+'''');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Sub);
SInitCDSData20(ADOQueryMain,CDS_Sub);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmYPCRIn.ToolButton2Click(Sender: TObject);
var
FDate:TDateTime;
begin
FDate:=SGetServerDate(ADOQueryTemp);
try
frmCPSel:=TfrmCPSel.Create(self);
with frmCPSel do
begin
frmCPSel.Align:=alClient;
if ShowModal=1 then
begin
with CDS_Sub do
begin
Append;
FieldByName('CRTime').Value:=FDate;
FieldByName('CYID').Value:=Trim(CDS_Main.fieldbyname('CYID').AsString);
FieldByName('CYNo').Value:=Trim(CDS_Main.fieldbyname('CYNo').AsString);
FieldByName('CYName').Value:=Trim(CDS_Main.fieldbyname('CYName').AsString);
FieldByName('CYSpec').Value:=Trim(CDS_Main.fieldbyname('CYSpec').AsString);
FieldByName('CYCF').Value:=Trim(CDS_Main.fieldbyname('CYCF').AsString);
FieldByName('CYMF').Value:=Trim(CDS_Main.fieldbyname('CYMF').AsString);
FieldByName('CYKZ').Value:=Trim(CDS_Main.fieldbyname('CYKZ').AsString);
FieldByName('CYHX').Value:=Trim(CDS_Main.fieldbyname('CYHX').AsString);
FieldByName('CYColor').Value:=Trim(CDS_Main.fieldbyname('CYColor').AsString);
Post;
end;
end;
end;
finally
frmCPSel.Free;
end;
end;
procedure TfrmYPCRIn.ToolButton3Click(Sender: TObject);
begin
if CDS_Sub.IsEmpty then Exit;
if Trim(CDS_Sub.fieldbyname('BCId').AsString)<>'' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
CDS_Sub.Delete;
end;
procedure TfrmYPCRIn.ToolButton4Click(Sender: TObject);
var
YCLCode,GYS:String;
begin
if CDS_Sub.IsEmpty then Exit;
CopyAddRow(tv1,CDS_Sub);
with CDS_Sub do
begin
Edit;
FieldByName('BCID').Value:='';
FieldByName('CRID').Value:=NULL;
FieldByName('CYColor').Value:='';
FieldByName('Note').Value:='';
Post;
end;
end;
procedure TfrmYPCRIn.ToolButton1Click(Sender: TObject);
begin
if CDS_Sub.IsEmpty then Exit;
ToolBar1.SetFocus;
OneKeyPost(Tv1,CDS_Sub);
end;
function TfrmYPCRIn.SaveData():Boolean;
var
MaxNo,SubId,strSQL,LQuantity,LQty,YLQty:string;
KID,i,PStatus,KID1,KID2:Integer;
begin
try
Result:=False;
ADOQueryCmd.Connection.BeginTrans;
CDS_Sub.DisableControls;
with CDS_Sub do
begin
First;
while not Eof do
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select Top 1* from CK_YP_CR where CYID='''+Trim(CDS_Sub.fieldbyname('CYID').AsString)+'''');
sql.Add(' and CYType='''+Trim(CDS_Sub.fieldbyname('CYType').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
if Trim(ADOQueryTemp.FieldByName('QtyUnit').AsString)<>Trim(CDS_Sub.fieldbyname('QtyUnit').AsString) then
begin
ADOQueryCmd.Connection.RollbackTrans;
CDS_Sub.EnableControls;
Application.MessageBox('<27><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
end;
if Trim(CDS_Sub.FieldByName('Qty').AsString)='' then
begin
CDS_Sub.Edit;
CDS_Sub.FieldByName('Qty').Value:='0';
CDS_Sub.Post;
end;
{ with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_YP_KC where WeiZhi='''+Trim(CDS_Sub.fieldbyname('WeiZhi').AsString)+'''');
sql.Add(' and KCQty>0');
Open;
end;
if ADOQueryTemp.RecordCount>1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
CDS_Sub.EnableControls;
Application.MessageBox('<27><>λ<EFBFBD><CEBB><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD>ռ<EFBFBD><D5BC>!','<27><>ʾ',0);
Exit;
end; }
SaveKCData();
//<2F><><EFBFBD><EFBFBD>
if Trim(CDS_Sub.fieldbyname('BCId').AsString)<>'' then
begin
SubId:=Trim(CDS_Sub.fieldbyname('BCId').AsString);
end else
begin
if GetLSNo(ADOQueryCmd,SubId,'BC','CK_YP_CR',4,1)=False then
begin
ADOQueryCmd.Connection.RollbackTrans;
CDS_Sub.EnableControls;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from CK_YP_CR where BCId='''+Trim(SubId)+'''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(CDS_Sub.fieldbyname('BCId').AsString)<>'' then
Edit
else
Append;
FieldByName('BCId').Value:=Trim(SubId);
//SSetSaveDataCDSNew(ADOQueryCmd,Tv1,CDS_Sub,'CK_YP_CR',2);
RTSetSaveDataCDS(ADOQueryCmd,Tv1,CDS_Sub,'CK_YP_CR',2);
FieldByName('CRTime').Value:=CDS_Sub.fieldbyname('CRtime').Value;
FieldByName('CYID').Value:=CDS_Sub.fieldbyname('CYID').Value;
FieldByName('CYColor').Value:=CDS_Sub.fieldbyname('CYColor').Value;
FieldByName('CYType').Value:=CDS_Sub.fieldbyname('CYType').Value;
FieldByName('QtyUnit').Value:=CDS_Sub.fieldbyname('QtyUnit').Value;
FieldByName('Note').Value:=CDS_Sub.fieldbyname('Note').Value;
FieldByName('Qty').Value:=CDS_Sub.fieldbyname('Qty').Value;
FieldByName('QtyFlag').Value:=1;
FieldByName('CRID').Value:=StrToInt(FCRID);
FieldByName('CRFlag').Value:='<27><><EFBFBD><EFBFBD>';
FieldByName('CRType').Value:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if Trim(CDS_Sub.fieldbyname('BCId').AsString)='' then
begin
FieldByName('Filler').Value:=Trim(DName);
end
else
begin
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp);
end;
FieldByName('Note').Value:=Trim(CDS_Sub.fieldbyname('Note').AsString);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update CK_YP_KC Set KCQty=(select sum(Qty*QtyFlag) from CK_YP_CR A where A.CRID=CK_YP_KC.CRID)');
sql.Add(' where CRID='+Trim(FCRID));
ExecSQL;
end;
Next;
end;
end;
CDS_Sub.EnableControls;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete CK_YP_KC where CRID in(select CRID from CK_YP_KC ');
sql.Add(' where not exists(select * from CK_YP_CR A where A.CRID=CK_YP_KC.CRID))');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
FMainID:=SubId;
ModalResult:=1;
except
ADOQueryCmd.Connection.RollbackTrans;
CDS_Sub.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
end;
end;
procedure TfrmYPCRIn.SaveKCData();
var
LQty:String;
PState:Integer;
begin
PState:=0;
if Trim(CDS_Sub.fieldbyname('BCID').AsString)<>'' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_YP_CR where BCID='''+Trim(CDS_Sub.fieldbyname('BCID').AsString)+'''');
Open;
end;
LQty:=Trim(ADOQueryTemp.fieldbyname('Qty').AsString);
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate CK_YP_KC Set KCQty=KCQty-'+LQty);
SQL.Add(' where CRID='+Trim(ADOQueryTemp.fieldbyname('CRID').AsString));
ExecSQL;
end;
end;
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add('select * from CK_YP_KC');
sql.Add(' where CYID='''+Trim(CDS_Sub.fieldbyname('CYID').AsString)+'''');
sql.Add(' and isnull(CYType,'''')='''+Trim(CDS_Sub.fieldbyname('CYType').AsString)+'''');
sql.Add(' and isnull(CYColor,'''')='''+Trim(CDS_Sub.fieldbyname('CYColor').AsString)+'''');
sql.Add(' and isnull(PBFactory,'''')='''+Trim(CDS_Sub.fieldbyname('PBFactory').AsString)+'''');
sql.Add(' and isnull(RCFactory,'''')='''+Trim(CDS_Sub.fieldbyname('RCFactory').AsString)+'''');
sql.Add(' and isnull(HJGFactory,'''')='''+Trim(CDS_Sub.fieldbyname('HJGFactory').AsString)+'''');
sql.Add(' and isnull(KCQtyUnit,'''')='''+Trim(CDS_Sub.fieldbyname('QtyUnit').AsString)+'''');
sql.Add(' and isnull(WeiZhi,'''')='''+Trim(CDS_Sub.fieldbyname('WeiZhi').AsString)+'''');
sql.Add(' and isnull(KCNote,'''')='''+Trim(CDS_Sub.fieldbyname('Note').AsString)+'''');
//sql.Add(' and isnull(MiLenNote,'''')='''+Trim(CDS_Sub.fieldbyname('MiLenNote').AsString)+'''');
// sql.Add(' and isnull(BZType,'''')='''+Trim(CDS_Sub.fieldbyname('BZType').AsString)+'''');
{if Trim(CDS_Sub.fieldbyname('CRPrice').AsString)<>'' then
begin
sql.Add(' and CRPrice='+Trim(CDS_Sub.fieldbyname('CRPrice').AsString));
end else
begin
sql.Add(' and CRPrice=0');
end; }
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update CK_YP_CRID Set CRID=CRID+1 select * from CK_YP_CRID');
ExecSQL;
Open;
end;
FCRID:=Trim(ADOQueryCmd.fieldbyname('CRID').AsString);
end else
begin
FCRID:=Trim(ADOQueryTemp.fieldbyname('CRID').AsString);
PState:=1;
end;
if PState=0 then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into CK_YP_KC(CRID,CYID,CYColor,PBFactory,KCQtyUnit,KCValid,CYType,KCNote,RCFactory,HJGFactory,WeiZhi)');
sql.Add(' select '+FCRID);
sql.Add(','''+Trim(CDS_Sub.fieldbyname('CYID').AsString)+'''');
sql.Add(','''+Trim(CDS_Sub.fieldbyname('CYColor').AsString)+'''');
sql.Add(','''+Trim(CDS_Sub.fieldbyname('PBFactory').AsString)+'''');
sql.Add(','''+Trim(CDS_Sub.fieldbyname('QtyUnit').AsString)+'''');
sql.Add(',''Y'' ');
sql.Add(','''+Trim(CDS_Sub.fieldbyname('CYType').AsString)+'''');
sql.Add(','''+Trim(CDS_Sub.fieldbyname('Note').AsString)+'''');
// sql.Add(','''+Trim(CDS_Sub.fieldbyname('BZType').AsString)+'''');
sql.Add(','''+Trim(CDS_Sub.fieldbyname('RCFactory').AsString)+'''');
sql.Add(','''+Trim(CDS_Sub.fieldbyname('HJGFactory').AsString)+'''');
{if Trim(CDS_Sub.fieldbyname('CRPrice').AsString)<>'' then
sql.Add(','+Trim(CDS_Sub.fieldbyname('CRPrice').AsString))
else
sql.Add(',0'); }
sql.Add(','''+Trim(CDS_Sub.fieldbyname('WeiZhi').AsString)+'''');
//sql.Add(','''+Trim(CDS_Sub.fieldbyname('MiLenNote').AsString)+'''');
ExecSQL;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update CK_YP_KC Set KCQty=KCQty+'+Trim(CDS_Sub.fieldbyname('Qty').AsString));
SQL.Add(' where CRID='+FCRID);
ExecSQL;
end;
end;
procedure TfrmYPCRIn.BtnSaveClick(Sender: TObject);
begin
if CDS_Sub.IsEmpty then Exit;
if CDS_Sub.Locate('CRTime',Null,[]) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4B2BB>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
{ if CDS_Sub.Locate('CYNO',Null,[]) then
begin
Application.MessageBox('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('CYColor',Null,[]) then
begin
Application.MessageBox('<27><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end; }
if CDS_Sub.Locate('Qty',Null,[]) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('QtyUnit',Null,[]) then
begin
Application.MessageBox('<27><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('CYType',Null,[]) then
begin
Application.MessageBox('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
{ if CDS_Sub.Locate('CRPrice',Null,[]) then
begin
Application.MessageBox('<27><><EFBFBD>۲<EFBFBD><DBB2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if CDS_Sub.Locate('BZType',Null,[]) then
begin
Application.MessageBox('<27><><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end; }
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmYPCRIn.FormShow(Sender: TObject);
var
i:Integer;
begin
readCxGrid('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>STInput',Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
InitGrid();
if FCopyInt=99 then
begin
FMainID:='';
with CDS_Sub do
begin
Edit;
FieldByName('BCID').Value:='';
FieldByName('WeiZhi').Value:='';
FieldByName('CRID').Value:=Null;
Post;
end;
end;
if Trim(FMainID)<>'' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_YP_CR where CRID='+Trim(CDS_Sub.fieldbyname('CRID').AsString));
sql.Add(' and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
for i:=0 to Tv1.ColumnCount-1 do
begin
Tv1.Columns[i].Options.Focusing:=False;
end;
v1Column1.Options.Focusing:=True;
v1Quantity.Options.Focusing:=True;
end;
end;
{FDate:=SGetServerDate(ADOQueryTemp);
if Trim(FMainID)='' then
begin
with CDS_Sub do
begin
Append;
FieldByName('CRTime').Value:=FDate;
Post;
end;
end; }
end;
procedure TfrmYPCRIn.v1P_ChnNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='ordcolor';
flagname:='<27><>ɫ';
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('CYColor').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmYPCRIn.v1Column18PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='WeiZhi';
flagname:='<27><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>';
if ShowModal=1 then
begin
CDS_Sub.Edit;
CDS_Sub.FieldByName('WeiZhi').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmYPCRIn.v1Column4PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='CYType';
flagname:='<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('CYType').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
end.