财务 经轴仓库

This commit is contained in:
funa 2026-10-22 17:30:55 +08:00
parent d9171094a2
commit 6f0bb4e55a
17 changed files with 872 additions and 59 deletions

View File

@ -40,6 +40,7 @@ uses
U_InvoiceOutInPut in 'U_InvoiceOutInPut.pas' {frmInvoiceOutInPut},
U_PayInput in 'U_PayInput.pas' {frmPayInput},
U_InvoiceInInPut in 'U_InvoiceInInPut.pas' {frmInvoiceInInPut},
U_BizCateSel in 'U_BizCateSel.pas' {frmBizCateSel},
U_PayableInput in 'U_PayableInput.pas' {frmPayableInput},
U_cxGridCustomCss in '..\..\..\public10\design\U_cxGridCustomCss.pas',
U_cxGridCustomSet in '..\..\..\public10\design\U_cxGridCustomSet.pas',

View File

@ -8,9 +8,9 @@
<Transaction>1899/12/30 00:00:00.000.292,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_FinPurchasePlanSel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.683,D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_InvoiceOutSel.pas=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_InvoiceSel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.683,D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_InvoiceOutSel.dfm=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_InvoiceSel.dfm</Transaction>
<Transaction>1899/12/30 00:00:00.000.210,=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_ExpenseInput.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.987,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_PayableInput.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.422,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.210,=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_ExpenseInput.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.630,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.159,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_CustStatementWriteOff.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.895,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_InvoiceOutList.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.123,=D:\Dp10Repo\public10\design\U_globalVar.pas</Transaction>
@ -18,14 +18,14 @@
<Transaction>1899/12/30 00:00:00.000.092,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_EmployeeSel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.742,=D:\Dp10RepoV1\public10\design\U_cxGridCustomSet.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.616,D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_LablePrint.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.630,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.422,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_CompanySel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.885,=D:\Dp10RepoV1\项目代码\RTBasicsV1\A09财务通用管理\U_ExpenseList.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.939,=D:\Dp10Repo\public10\design\U_BaseInput.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.868,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\Financial.dproj=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\InformationBase.dproj</Transaction>
<Transaction>1899/12/30 00:00:00.000.135,D:\Dp10Repo\项目代码\睿特\新DLL初始化(CSH.dll)\U_ZDYHelp.pas=</Transaction>
<Transaction>1899/12/30 00:00:00.000.806,=D:\Dp10RepoV1\public10\design\U_BaseDataLink.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.772,=D:\Dp10RepoV1\public10\design\U_FormLayOutDesign.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.103,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_BankSel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.772,=D:\Dp10RepoV1\public10\design\U_FormLayOutDesign.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.060,D:\D10W\项目代码\D10myXingrui\B02基础纱线仓库\U_YarnInfoImport.pas=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_CollectImport.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.119,D:\D10W\项目代码\D10myXingrui\B02基础纱线仓库\U_YarnInfoImport.pas=</Transaction>
<Transaction>1899/12/30 00:00:00.000.871,D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceOutInPut.dfm=D:\Dp10Repo\项目代码\RTBasics\A09财务通用管理\U_InvoiceInInPut.dfm</Transaction>
@ -65,8 +65,8 @@
<Transaction>1899/12/30 00:00:00.000.052,D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_PayableBatchInput.pas=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\A09财务通用管理\U_GETableBatchInput.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.339,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_ClothInfoSel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.844,=D:\Dp10Repo\项目代码\RTBasics\A00通用窗体\U_AttachmentUpload.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.690,=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_CollectImport.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.201,=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_CollectImport.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.690,=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_CollectImport.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.975,=D:\Dp10Repo\public10\ThreeFun\Fun\U_CompressionFun.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.263,D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_CollectInput2.pas=D:\D10V1W\项目代码\D10SZKaiXiYa\A09财务通用管理\U_ExpenseInput.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.493,=D:\Dp10Repo\项目代码\RTBasics\A00通用模板\Unit1.pas</Transaction>
@ -165,5 +165,7 @@
<File Path="U_CollectImport.dfm"/>
<File Path="U_AttachmentUploadIvI.pas"/>
<File Path="U_AttachmentUploadIvI.dfm"/>
<File Path="U_BizCateSel.pas"/>
<File Path="U_BizCateSel.dfm"/>
</ProjectSortOrder>
</BorlandProject>

View File

@ -0,0 +1,161 @@
object frmBizCateSel: TfrmBizCateSel
Left = 400
Top = 200
Caption = #19994#21153#22823#31867#26126#32454#39033#36873#25321
ClientHeight = 500
ClientWidth = 700
Color = clWhite
Font.Charset = GB2312_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = #24494#36719#38597#40657
Font.Style = []
OldCreateOrder = False
Position = poScreenCenter
OnDestroy = FormDestroy
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 21
object ToolBar1: TToolBar
Tag = 1
Left = 0
Top = 0
Width = 700
Height = 30
AutoSize = True
ButtonHeight = 30
ButtonWidth = 59
Caption = 'ToolBar1'
DisabledImages = DataLink_Financial.cxImageList_bar
Images = DataLink_Financial.cxImageList_bar
List = True
ShowCaptions = True
TabOrder = 0
object TBOK: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #30830#23450
ImageIndex = 12
OnClick = TBOKClick
end
object TBAdd: TToolButton
Left = 63
Top = 0
AutoSize = True
Caption = #22686#34892
ImageIndex = 2
OnClick = TBAddClick
end
object TBDel: TToolButton
Left = 126
Top = 0
AutoSize = True
Caption = #21024#34892
ImageIndex = 6
OnClick = TBDelClick
end
object TBEdit: TToolButton
Left = 189
Top = 0
AutoSize = True
Caption = #20462#25913
ImageIndex = 3
OnClick = TBEditClick
end
object TBClose: TToolButton
Left = 252
Top = 0
AutoSize = True
Caption = #20851#38381
ImageIndex = 7
OnClick = TBCloseClick
end
end
object cxGrid1: TcxGrid
Left = 0
Top = 30
Width = 700
Height = 470
Align = alClient
TabOrder = 1
object Tv1: TcxGridDBTableView
Navigator.Buttons.CustomButtons = <>
Navigator.Buttons.Delete.Enabled = False
Navigator.Buttons.Delete.Visible = False
ScrollbarAnnotations.CustomAnnotations = <>
OnCellDblClick = Tv1CellDblClick
DataController.DataSource = DS_1
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
OptionsCustomize.ColumnFiltering = False
OptionsData.Deleting = False
OptionsData.DeletingConfirmation = False
OptionsData.Editing = False
OptionsSelection.CellSelect = False
OptionsView.GroupByBox = False
OptionsView.Indicator = True
object Tv1BizCate: TcxGridDBColumn
Caption = #19994#21153#22823#31867
DataBinding.FieldName = 'BizCate'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = Tv1BizCatePropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 240
end
object Tv1BizItem: TcxGridDBColumn
Caption = #26126#32454#39033
DataBinding.FieldName = 'BizItem'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = Tv1BizItemPropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 240
end
object Tv1CateNo: TcxGridDBColumn
Caption = #22823#31867#32534#21495
DataBinding.FieldName = 'CateNo'
DataBinding.IsNullValueType = True
Visible = False
HeaderAlignmentHorz = taCenter
Width = 80
end
object Tv1ItemNo: TcxGridDBColumn
Caption = #26126#32454#32534#21495
DataBinding.FieldName = 'ItemNo'
DataBinding.IsNullValueType = True
Visible = False
HeaderAlignmentHorz = taCenter
Width = 80
end
end
object cxGridLevel1: TcxGridLevel
GridView = Tv1
end
end
object DS_1: TDataSource
DataSet = CDS_1
Left = 96
Top = 120
end
object CDS_1: TClientDataSet
Aggregates = <>
Params = <>
Left = 168
Top = 120
end
object ADOQueryTmp: TADOQuery
Connection = DataLink_Financial.ADOLink
Parameters = <>
Left = 560
Top = 120
end
object ADOQueryCmd: TADOQuery
Connection = DataLink_Financial.ADOLink
Parameters = <>
Left = 656
Top = 120
end
end

View File

@ -0,0 +1,461 @@
unit U_BizCateSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter,
cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, ADODB, DBClient, ExtCtrls, cxTextEdit,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu,
dxDateRanges, dxScrollbarAnnotations, cxContainer, dxSkinsCore,
dxSkinsDefaultPainters, dxSkinWXI, StdCtrls;
const
CBizCateType = 'FinBizCate'; //KH_ZDY中业务大类的Type标识
CBizItemType = 'FinBizItem'; //KH_ZDY中明细项的Type标识
type
TfrmBizCateSel = class(TForm)
ToolBar1: TToolBar;
TBAdd: TToolButton;
TBDel: TToolButton;
TBEdit: TToolButton;
TBOK: TToolButton;
TBClose: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
Tv1BizCate: TcxGridDBColumn;
Tv1BizItem: TcxGridDBColumn;
Tv1CateNo: TcxGridDBColumn;
Tv1ItemNo: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
DS_1: TDataSource;
CDS_1: TClientDataSet;
ADOQueryTmp: TADOQuery;
ADOQueryCmd: TADOQuery;
procedure FormShow(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBOKClick(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure Tv1BizCatePropertiesEditValueChanged(Sender: TObject);
procedure Tv1BizItemPropertiesEditValueChanged(Sender: TObject);
private
procedure InitGrid();
procedure SetEditMode(AEdit: Boolean);
function FindCateNoByName(const ACateName: string; var ACateNo: string): Boolean;
function ItemNameExists(const ACateNo, AItemName, AExcludeItemNo: string): Boolean;
{ Private declarations }
public
SelCateName, SelItemName: string;
{ Public declarations }
end;
var
frmBizCateSel: TfrmBizCateSel;
implementation
uses
U_DataLink, U_RTFun;
{$R *.dfm}
{一行=一条明细项(BizItem)+其所属业务大类(BizCate);
KH_ZDY存储:大类 Type=FinBizCate,明细 Type=FinBizItem、MainType=大类ZDYNo;
未点修改前表格锁定,点修改后单元格改动即自动保存。}
procedure TfrmBizCateSel.InitGrid();
begin
with ADOQueryTmp do
begin
Close;
SQL.Clear;
SQL.Add('select C.ZDYName as BizCate, I.ZDYName as BizItem');
SQL.Add(',C.ZDYNo as CateNo, I.ZDYNo as ItemNo');
SQL.Add('from KH_ZDY C join KH_ZDY I');
SQL.Add(' on I.Type=''' + CBizItemType + ''' and I.MainType=C.ZDYNo and isnull(I.valid,''Y'')=''Y''');
SQL.Add('where C.Type=''' + CBizCateType + ''' and isnull(C.valid,''Y'')=''Y''');
SQL.Add('order by C.ZDYNo, I.ZDYNo');
Open;
end;
SCreateCDS(ADOQueryTmp, CDS_1);
SInitCDSData(ADOQueryTmp, CDS_1);
end;
procedure TfrmBizCateSel.SetEditMode(AEdit: Boolean);
begin
Tv1.OptionsData.Editing := AEdit;
Tv1.OptionsSelection.CellSelect := AEdit;
if AEdit then
TBEdit.Caption := #32467#26463#20462#25913 //结束修改
else
TBEdit.Caption := #20462#25913; //修改
end;
function TfrmBizCateSel.FindCateNoByName(const ACateName: string;
var ACateNo: string): Boolean;
begin
Result := False;
ACateNo := '';
with ADOQueryTmp do
begin
Close;
SQL.Clear;
SQL.Add('select ZDYNo from KH_ZDY where Type=''' + CBizCateType + '''');
SQL.Add(' and isnull(valid,''Y'')=''Y'' and ZDYName=' + QuotedStr(Trim(ACateName)));
Open;
if not IsEmpty then
begin
Result := True;
ACateNo := Trim(FieldByName('ZDYNo').AsString);
end;
Close;
end;
end;
function TfrmBizCateSel.ItemNameExists(const ACateNo, AItemName,
AExcludeItemNo: string): Boolean;
begin
Result := False;
with ADOQueryTmp do
begin
Close;
SQL.Clear;
SQL.Add('select ZDYNo from KH_ZDY where Type=''' + CBizItemType + '''');
SQL.Add(' and MainType=' + QuotedStr(Trim(ACateNo)));
SQL.Add(' and ZDYName=' + QuotedStr(Trim(AItemName)));
Open;
while not Eof do
begin
if Trim(FieldByName('ZDYNo').AsString) <> Trim(AExcludeItemNo) then
begin
Result := True;
Break;
end;
Next;
end;
Close;
end;
end;
procedure TfrmBizCateSel.FormShow(Sender: TObject);
begin
InitGrid();
SetEditMode(False);
end;
procedure TfrmBizCateSel.FormDestroy(Sender: TObject);
begin
frmBizCateSel := nil;
end;
procedure TfrmBizCateSel.TBAddClick(Sender: TObject);
begin
SetEditMode(True);
CDS_1.Append;
CDS_1.Post;
Tv1.Controller.FocusRecord(CDS_1.RecNo - 1, True);
end;
procedure TfrmBizCateSel.TBDelClick(Sender: TObject);
var
mCateNo, mItemNo: string;
mLast: Boolean;
begin
if CDS_1.IsEmpty then
Exit;
mCateNo := Trim(CDS_1.FieldByName('CateNo').AsString);
mItemNo := Trim(CDS_1.FieldByName('ItemNo').AsString);
if mItemNo = '' then
begin
CDS_1.Delete; //未落库的新行
Exit;
end;
mLast := False;
with ADOQueryTmp do
begin
Close;
SQL.Clear;
SQL.Add('select count(*) as Cnt from KH_ZDY where Type=''' + CBizItemType + '''');
SQL.Add(' and MainType=' + QuotedStr(mCateNo) + ' and isnull(valid,''Y'')=''Y''');
Open;
if FieldByName('Cnt').AsInteger <= 1 then
mLast := True;
Close;
end;
if mLast then
begin
if Application.MessageBox('该明细项是其业务大类下最后一条,删除后将同时删除该业务大类,确定删除吗?',
'提示信息', 1) = 2 then
Exit;
end
else
begin
if Application.MessageBox('确定要删除该明细项吗?', '提示信息', 1) = 2 then
Exit;
end;
ADOQueryCmd.Connection.BeginTrans;
try
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('delete KH_ZDY where Type=''' + CBizItemType + ''' and ZDYNo=' + QuotedStr(mItemNo));
ExecSQL;
if mLast then
begin
Close;
SQL.Clear;
SQL.Add('delete KH_ZDY where Type=''' + CBizCateType + ''' and ZDYNo=' + QuotedStr(mCateNo));
ExecSQL;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('删除失败!', '提示信息', 0);
Exit;
end;
CDS_1.Delete;
end;
procedure TfrmBizCateSel.TBEditClick(Sender: TObject);
begin
SetEditMode(not Tv1.OptionsData.Editing);
end;
procedure TfrmBizCateSel.Tv1BizCatePropertiesEditValueChanged(Sender: TObject);
var
mvalue, mCateNo, mItemNo, mFoundNo, mNewCateNo, maxno: string;
mFound: Boolean;
begin
mvalue := Trim(TcxTextEdit(Sender).EditingText);
if mvalue = '' then
Exit;
if (not CDS_1.Active) or CDS_1.IsEmpty then
Exit;
mCateNo := Trim(CDS_1.FieldByName('CateNo').AsString);
mItemNo := Trim(CDS_1.FieldByName('ItemNo').AsString);
CDS_1.Edit;
CDS_1.FieldByName('BizCate').Value := mvalue;
CDS_1.Post;
if mCateNo = '' then
Exit; //新行:只记录大类名称,待明细项录入时统一创建大类+明细
if mItemNo = '' then
Exit;
//已有行:只调整当前这条明细的所属大类。
//输入已有大类名=移动过去;全新名称=新建该名称的大类再移动过去(不做全大类重命名)
mFound := FindCateNoByName(mvalue, mFoundNo);
if mFound and (mFoundNo = mCateNo) then
Exit; //大类未变化
ADOQueryCmd.Connection.BeginTrans;
try
if not mFound then
begin
if GetLSNo(ADOQueryTmp, maxno, 'SY', 'KH_ZDY', 3, 1) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('insert into KH_ZDY(ZDYNo,ZDYName,Type,valid) values(');
SQL.Add(QuotedStr(Trim(maxno)) + ',' + QuotedStr(mvalue));
SQL.Add(',''' + CBizCateType + ''',''Y'')');
ExecSQL;
end;
mNewCateNo := Trim(maxno);
end
else
mNewCateNo := mFoundNo;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('update KH_ZDY set MainType=' + QuotedStr(mNewCateNo));
SQL.Add(' where ZDYNo=' + QuotedStr(mItemNo) + ' and Type=''' + CBizItemType + '''');
ExecSQL;
end;
//原大类被移空时一并删除,避免留下界面上看不到的空大类
with ADOQueryTmp do
begin
Close;
SQL.Clear;
SQL.Add('select count(*) as Cnt from KH_ZDY where Type=''' + CBizItemType + '''');
SQL.Add(' and MainType=' + QuotedStr(mCateNo) + ' and isnull(valid,''Y'')=''Y''');
Open;
if FieldByName('Cnt').AsInteger = 0 then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('delete KH_ZDY where Type=''' + CBizCateType + ''' and ZDYNo=' + QuotedStr(mCateNo));
ExecSQL;
end;
end;
Close;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存业务大类调整失败!', '提示信息', 0);
Exit;
end;
CDS_1.Edit;
CDS_1.FieldByName('CateNo').Value := mNewCateNo;
CDS_1.Post;
end;
procedure TfrmBizCateSel.Tv1BizItemPropertiesEditValueChanged(Sender: TObject);
var
mvalue, mCateNo, mItemNo, mCateName, mFoundNo, mNewCateNo, mNewItemNo, maxno: string;
begin
mvalue := Trim(TcxTextEdit(Sender).EditingText);
if mvalue = '' then
Exit;
if (not CDS_1.Active) or CDS_1.IsEmpty then
Exit;
mCateNo := Trim(CDS_1.FieldByName('CateNo').AsString);
mItemNo := Trim(CDS_1.FieldByName('ItemNo').AsString);
mCateName := Trim(CDS_1.FieldByName('BizCate').AsString);
if mItemNo = '' then
begin
//新行录入明细项:大类存在则挂靠,不存在则先建大类,再建明细项
if mCateName = '' then
begin
Application.MessageBox('请先输入业务大类!', '提示信息', 0);
Exit;
end;
ADOQueryCmd.Connection.BeginTrans;
try
mNewCateNo := mCateNo;
if (mNewCateNo = '') and (not FindCateNoByName(mCateName, mFoundNo)) then
begin
if GetLSNo(ADOQueryTmp, maxno, 'SY', 'KH_ZDY', 3, 1) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('insert into KH_ZDY(ZDYNo,ZDYName,Type,valid) values(');
SQL.Add(QuotedStr(Trim(maxno)) + ',' + QuotedStr(mCateName));
SQL.Add(',''' + CBizCateType + ''',''Y'')');
ExecSQL;
end;
mNewCateNo := Trim(maxno);
end
else if mNewCateNo = '' then
mNewCateNo := mFoundNo;
if ItemNameExists(mNewCateNo, mvalue, '') then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('该业务大类下已存在同名明细项!', '提示信息', 0);
Exit;
end;
if GetLSNo(ADOQueryTmp, maxno, 'SY', 'KH_ZDY', 3, 1) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Exit;
end;
mNewItemNo := Trim(maxno);
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('insert into KH_ZDY(ZDYNo,ZDYName,Type,MainType,valid) values(');
SQL.Add(QuotedStr(mNewItemNo) + ',' + QuotedStr(mvalue));
SQL.Add(',''' + CBizItemType + ''',' + QuotedStr(mNewCateNo) + ',''Y'')');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_1.Edit;
CDS_1.FieldByName('BizItem').Value := mvalue;
CDS_1.FieldByName('CateNo').Value := mNewCateNo;
CDS_1.FieldByName('ItemNo').Value := mNewItemNo;
CDS_1.Post;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存明细项失败!', '提示信息', 0);
end;
end
else
begin
//重命名明细项
if ItemNameExists(mCateNo, mvalue, mItemNo) then
begin
Application.MessageBox('该业务大类下已存在同名明细项!', '提示信息', 0);
Exit;
end;
CDS_1.Edit;
CDS_1.FieldByName('BizItem').Value := mvalue;
CDS_1.Post;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('update KH_ZDY set ZDYName=' + QuotedStr(mvalue));
SQL.Add(' where ZDYNo=' + QuotedStr(mItemNo) + ' and Type=''' + CBizItemType + '''');
ExecSQL;
end;
end;
end;
procedure TfrmBizCateSel.TBOKClick(Sender: TObject);
begin
if CDS_1.IsEmpty or (Trim(CDS_1.FieldByName('BizCate').AsString) = '')
or (Trim(CDS_1.FieldByName('BizItem').AsString) = '') then
begin
Application.MessageBox('请先选择业务大类和明细项!', '提示信息', 0);
Exit;
end;
SelCateName := Trim(CDS_1.FieldByName('BizCate').AsString);
SelItemName := Trim(CDS_1.FieldByName('BizItem').AsString);
ModalResult := 1;
end;
procedure TfrmBizCateSel.Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
if Tv1.OptionsData.Editing = False then
TBOKClick(Sender);
end;
procedure TfrmBizCateSel.TBCloseClick(Sender: TObject);
begin
ModalResult := 2;
Close;
end;
end.

View File

@ -167,12 +167,19 @@ object frmExpenseInput: TfrmExpenseInput
Visible = False
end
object Label15: TLabel
Left = 787
Left = 833
Top = 36
Width = 48
Height = 21
Caption = #21457#31080#21495
end
object Label16: TLabel
Left = 828
Top = 86
Width = 80
Height = 21
Caption = #21457#31080#26126#32454#39033
end
object FinanceNote: TMemo
Tag = 2
Left = 200
@ -388,8 +395,8 @@ object frmExpenseInput: TfrmExpenseInput
end
object IVNo: TcxButtonEdit
Tag = 2
Left = 841
Top = 33
Left = 920
Top = 31
Properties.Buttons = <
item
Default = True
@ -399,6 +406,13 @@ object frmExpenseInput: TfrmExpenseInput
TabOrder = 16
Width = 200
end
object IVDetailItem: TcxTextEdit
Left = 920
Top = 83
Properties.ReadOnly = True
TabOrder = 17
Width = 200
end
end
object ADOQueryTemp: TADOQuery
Connection = DataLink_Financial.ADOLink

View File

@ -1,4 +1,4 @@
unit U_ExpenseInput;
unit U_ExpenseInput;
interface
@ -70,6 +70,8 @@ type
Label15: TLabel;
IVNo: TcxButtonEdit;
oppShuiNo: TcxTextEdit;
Label16: TLabel;
IVDetailItem: TcxTextEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
@ -95,6 +97,7 @@ type
procedure InitGrid();
function SaveData(): Boolean;
procedure InitGrid2();
procedure LoadIVDetailItem(const AIVIDs: string);
public
{ Public declarations }
FFFID: string;
@ -131,7 +134,7 @@ begin
begin
SCSHData(ADOQueryMain, ScrollBox1, 2);
Self.IVNo.Properties.LookupItems.Text := ADOQueryMain.FieldByName('IVID').AsString;
LoadIVDetailItem(ADOQueryMain.FieldByName('IVID').AsString);
if ADOQueryMain.FieldByName('Amount').AsString <> '' then
begin
nAmount := ADOQueryMain.FieldByName('Amount').AsFloat;
@ -158,7 +161,7 @@ begin
Close;
sql.Clear;
sql.Add('select A.* from BS_Company A where 1=1 ');
sql.Add(' and A.CoType=''供应商'' ');
sql.Add(' and A.CoType=''供应商'' ');
SQL.Add(' and ShuiNo like ''%' + oppShuiNo.Text + '%'' ');
Open;
end;
@ -171,6 +174,29 @@ begin
end;
end;
procedure TfrmExpenseInput.LoadIVDetailItem(const AIVIDs: string);
begin
IVDetailItem.Text := '';
if Trim(AIVIDs) = '' then
Exit;
try
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select DetailItems=stuff((select '','' + B.detail_item from Finance_Invoice B');
SQL.Add(' where isnull(B.detail_item,'''')<>''''');
SQL.Add(' and charindex('','' + B.IVID + '','', '','' + ' + QuotedStr(Trim(AIVIDs)) + ' + '','')>0');
SQL.Add(' for xml path('''')),1,1,'''')');
Open;
IVDetailItem.Text := Trim(FieldByName('DetailItems').AsString);
Close;
end;
except
IVDetailItem.Text := '';
end;
end;
procedure TfrmExpenseInput.N1Click(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
@ -182,12 +208,12 @@ var
FWZ: Integer;
begin
fsj := Trim(TcxButtonEdit(Sender).Hint);
FWZ := Pos('/', fsj); //先英文再中文
FWZ := Pos('/', fsj); //先英文再中文
try
frmZDYBankSel := TfrmZDYBankSel.Create(Application);
with frmZDYBankSel do
begin
MainType := '财务银行';
MainType := '财务银行';
flag := Copy(fsj, 1, FWZ - 1);
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
if ShowModal = 1 then
@ -209,7 +235,7 @@ begin
with frmZDYHelp do
begin
flag := 'OppCoName';
flagname := '对方单位';
flagname := '对方单位';
if ShowModal = 1 then
begin
TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
@ -226,7 +252,7 @@ begin
frmCompanySel := TfrmCompanySel.Create(Application);
with frmCompanySel do
begin
FCoType := '供应商';
FCoType := '供应商';
if ShowModal = 1 then
begin
OppCoName.Text := Trim(frmCompanySel.CDS_1.fieldbyname('CoName').AsString);
@ -250,12 +276,12 @@ var
FWZ: Integer;
begin
fsj := Trim(TcxButtonEdit(Sender).Hint);
FWZ := Pos('/', fsj); //先英文再中文
FWZ := Pos('/', fsj); //先英文再中文
try
frmZDYBankSel := TfrmZDYBankSel.Create(Application);
with frmZDYBankSel do
begin
MainType := '财务银行';
MainType := '财务银行';
flag := Copy(fsj, 1, FWZ - 1);
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
if ShowModal = 1 then
@ -291,7 +317,7 @@ begin
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
MainType := '费用';
MainType := '费用';
flag := Copy(fsj, 1, FWZ - 1);
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
if ShowModal = 1 then
@ -310,7 +336,7 @@ var
FWZ: Integer;
begin
fsj := Trim(TcxButtonEdit(Sender).Hint);
FWZ := Pos('/', fsj); //先英文再中文
FWZ := Pos('/', fsj); //先英文再中文
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
@ -334,7 +360,7 @@ var
FWZ: Integer;
begin
fsj := Trim(TcxButtonEdit(Sender).Hint);
FWZ := Pos('/', fsj); //先英文再中文
FWZ := Pos('/', fsj); //先英文再中文
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
@ -357,13 +383,13 @@ end;
// n: Double;
// CleanText: string;
//begin
// // 移除千分位逗号
// // 移除千分位逗号
// CleanText := StringReplace(Amount.Text, ',', '', [rfReplaceAll]);
//
// if TryStrToFloat(CleanText, n) then
// begin
// // 格式化显示,但避免重复触发事件
// Amount.Properties.OnEditValueChanged := nil; // 暂时禁用事件
// // 格式化显示,但避免重复触发事件
// Amount.Properties.OnEditValueChanged := nil; // 暂时禁用事件
// try
// Amount.Text := FormatFloat('#,##0', n);
// finally
@ -382,37 +408,37 @@ var
CaretPos: Integer;
TextBeforeCaret: string;
begin
// 记住光标位置和光标前的文本
// 记住光标位置和光标前的文本
CaretPos := Amount.SelStart;
TextBeforeCaret := Copy(Amount.Text, 1, CaretPos);
// 移除千分位逗号
// 移除千分位逗号
CleanText := StringReplace(Amount.Text, ',', '', [rfReplaceAll]);
if TryStrToFloat(CleanText, n) then
begin
Amount.Properties.OnEditValueChanged := nil;
try
// 检测用户输入的小数位数
// 检测用户输入的小数位数
DecimalPos := Pos('.', CleanText);
if DecimalPos > 0 then
DecimalDigits := Length(CleanText) - DecimalPos
else
DecimalDigits := 0;
// 动态生成格式化字符串
// 动态生成格式化字符串
if DecimalDigits = 0 then
FormatStr := '#,##0'
else
FormatStr := '#,##0.' + StringOfChar('0', DecimalDigits);
// 应用格式化
// 应用格式化
Amount.Text := FormatFloat(FormatStr, n);
// 智能恢复光标位置
// 智能恢复光标位置
if CaretPos > 0 then
begin
// 计算添加逗号后的光标位置偏移
// 计算添加逗号后的光标位置偏移
CaretPos := Length(TextBeforeCaret) + (StringReplace(Copy(Amount.Text, 1, Length(TextBeforeCaret)), ',', '', [rfReplaceAll]).Length - TextBeforeCaret.Length);
if CaretPos <= Length(Amount.Text) then
Amount.SelStart := CaretPos;
@ -427,6 +453,7 @@ procedure TfrmExpenseInput.cxButtonEdit1PropertiesButtonClick(Sender: TObject; A
var
CurrentAmount: Double;
TaxAmount: Double;
mDetailItem: string;
begin
try
frmInvoiceSel := TfrmInvoiceSel.Create(Application);
@ -439,7 +466,8 @@ begin
Self.IVNo.Properties.LookupItems.Text := '';
Self.Amount.Text := '0';
// ftype := '进项';
Self.IVDetailItem.Text := '';
// ftype := '进项';
while CDS_Invoice.Locate('SSel', true, []) do
begin
@ -463,6 +491,19 @@ begin
// Self.Amount.Text := FloatToStr(strtofloatdef(Self.Amount.Text, 0) + frmInvoiceSel.CDS_Invoice.FieldByName('TaxAmount').asfloat);
end;
//选发票号的同时把明细项带过来(多张发票累加、去重)
mDetailItem := Trim(FieldByName('detail_item').AsString);
if mDetailItem <> '' then
begin
if Pos(',' + mDetailItem + ',', ',' + Trim(Self.IVDetailItem.Text) + ',') = 0 then
begin
if Trim(Self.IVDetailItem.Text) = '' then
Self.IVDetailItem.Text := mDetailItem
else
Self.IVDetailItem.Text := Trim(Self.IVDetailItem.Text) + ',' + mDetailItem;
end;
end;
Self.OppCoName.Text := frmInvoiceSel.CDS_Invoice.FieldByName('Supplier').AsString;
Self.OppCoName.Properties.LookupItems.Text := frmInvoiceSel.CDS_Invoice.FieldByName('CoCode').AsString;
Self.oppShuiNo.Text := trim(frmInvoiceSel.CDS_Invoice.FieldByName('SupplierShuiNo').AsString);
@ -529,7 +570,7 @@ begin
if Trim(FFFID) = '' then
begin
if not GetLSNo(ADOQueryCmd, MaxId, 'FS', 'Finance_Flow', 4, 1) then
raise Exception.Create('取最大号失败!');
raise Exception.Create('取最大号失败!');
end
else
begin
@ -555,12 +596,12 @@ begin
FieldByName('Filler').Value := Trim(DName);
FieldByName('Filltime').Value := SGetServerDateTime(ADOQueryTemp);
FieldByName('FFTime').Value := SGetServerDateTime(ADOQueryTemp);
FieldByName('FFFlag').Value := '费用';
FieldByName('FFType').Value := '费用登记';
FieldByName('Checkstatus').Value := '未审核';
FieldByName('PayStatus').Value := '未付款';
FieldByName('PrintStatus').Value := '未打印';
FieldByName('FFQtyFlag').Value := 1; //出入库标记
FieldByName('FFFlag').Value := '费用';
FieldByName('FFType').Value := '费用登记';
FieldByName('Checkstatus').Value := '未审核';
FieldByName('PayStatus').Value := '未付款';
FieldByName('PrintStatus').Value := '未打印';
FieldByName('FFQtyFlag').Value := 1; //出入库标记
end
else
begin
@ -588,7 +629,7 @@ begin
except
Result := false;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0);
application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0);
end;
end;
@ -602,18 +643,18 @@ begin
ToolBar1.SetFocus;
if Trim(OppCoName.Text) = '' then
begin
Application.MessageBox('对方单位不能为空!', '提示', 0);
Application.MessageBox('对方单位不能为空!', '提示', 0);
Exit;
end;
if Trim(Currency.Text) = '' then
begin
Application.MessageBox('币种不能为空!', '提示', 0);
Application.MessageBox('币种不能为空!', '提示', 0);
Exit;
end;
if SaveData() then
begin
Application.MessageBox('保存成功!', '提示', 0);
Application.MessageBox('保存成功!', '提示', 0);
ModalResult := 1;
end;
end;

View File

@ -536,6 +536,14 @@ inherited frmExpenseList: TfrmExpenseList
HeaderAlignmentHorz = taCenter
Width = 80
end
object Tv1IVDetailItem: TcxGridDBColumn
Caption = #21457#31080#26126#32454#39033
DataBinding.FieldName = 'IVDetailItem'
DataBinding.IsNullValueType = True
HeaderAlignmentHorz = taCenter
Options.Editing = False
Width = 110
end
object Tv1FJFlag: TcxGridDBColumn
Caption = #38468#20214
DataBinding.FieldName = 'FJFlag'

View File

@ -310,6 +310,7 @@ begin
Filtered := False;
sql.Add(' select A.* ');
sql.Add(',FJFlag=CAST((CASE WHEN (SELECT COUNT(X.FileName) FROM FJ_File X where X.TFType=''费用登记'' and X.WBID=A.FFID)>0 THEN 1 ELSE 0 END) AS BIT) ');
sql.Add(',IVDetailItem=stuff((select '','' + B.detail_item from Finance_Invoice B where isnull(B.detail_item,'''')<>'''' and charindex('','' + B.IVID + '','', '','' + A.IVID + '','')>0 for xml path('''')),1,1,'''') ');
sql.Add(' from Finance_Flow A ');
sql.Add(' where A.FFType=''费用登记'' ');
case cxTabControl1.TabIndex of

View File

@ -79,7 +79,7 @@ begin
DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server;
Parameters1:='管理';
// Parameters1 := '审核2';
// Parameters1 := 'ÉêÇë';
Parameters1 := 'ÉêÇë';
end
else
begin

View File

@ -164,6 +164,28 @@ object frmInvoiceInInPut: TfrmInvoiceInInPut
HeaderAlignmentHorz = taCenter
Width = 80
end
object Tv1BusinessCategory: TcxGridDBColumn
Caption = #19994#21153#22823#31867
DataBinding.FieldName = 'business_category'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxButtonEditProperties'
Properties.Buttons = <
item
Default = True
Kind = bkEllipsis
end>
Properties.OnButtonClick = Tv1BusinessCategoryPropertiesButtonClick
HeaderAlignmentHorz = taCenter
Width = 120
end
object Tv1DetailItem: TcxGridDBColumn
Caption = #26126#32454#39033
DataBinding.FieldName = 'detail_item'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxTextEditProperties'
HeaderAlignmentHorz = taCenter
Width = 120
end
object Tv1SupplierShuiNo: TcxGridDBColumn
Caption = #20379#24212#21830#31246#21495
DataBinding.FieldName = 'SupplierShuiNo'

View File

@ -71,6 +71,8 @@ type
procedure ToolButton5Click(Sender: TObject);
procedure Tv1FIAbstractPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure Tv1BusinessCategoryPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
private
procedure initGrid();
function SaveDate(): Boolean;
@ -88,7 +90,7 @@ var
implementation
uses
U_RTFun, U_ZDYHelp, U_CompanySel, U_dataLink, U_PayableSel;
U_RTFun, U_ZDYHelp, U_CompanySel, U_dataLink, U_PayableSel, U_BizCateSel;
{$R *.dfm}
//procedure TfrmInvoiceInInPut.SaveFlowInvoice();
@ -636,6 +638,26 @@ begin
end;
procedure TfrmInvoiceInInPut.Tv1BusinessCategoryPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmBizCateSel := TfrmBizCateSel.Create(Application);
with frmBizCateSel do
begin
if ShowModal = 1 then
begin
Self.CDS_Invoice.Edit;
Self.CDS_Invoice.FieldByName('business_category').Value := SelCateName;
Self.CDS_Invoice.FieldByName('detail_item').Value := SelItemName;
Self.CDS_Invoice.Post;
end;
end;
finally
frmBizCateSel.Free;
end;
end;
procedure TfrmInvoiceInInPut.ButtonEdit(Sender: TObject; AButtonIndex: Integer);
begin
try

View File

@ -347,6 +347,29 @@ inherited frmInvoiceInList: TfrmInvoiceInList
Options.Editing = False
Width = 80
end
object Tv1BusinessCategory: TcxGridDBColumn
Caption = #19994#21153#22823#31867
DataBinding.FieldName = 'business_category'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxButtonEditProperties'
Properties.Buttons = <
item
Default = True
Kind = bkEllipsis
end>
Properties.OnButtonClick = Tv1BusinessCategoryPropertiesButtonClick
HeaderAlignmentHorz = taCenter
Width = 120
end
object Tv1DetailItem: TcxGridDBColumn
Caption = #26126#32454#39033
DataBinding.FieldName = 'detail_item'
DataBinding.IsNullValueType = True
PropertiesClassName = 'TcxTextEditProperties'
Properties.OnEditValueChanged = Tv1DetailItemPropertiesEditValueChanged
HeaderAlignmentHorz = taCenter
Width = 120
end
object Tv1SupplierShuiNo: TcxGridDBColumn
Caption = #20379#24212#21830#31246#21495
DataBinding.FieldName = 'SupplierShuiNo'

View File

@ -109,6 +109,9 @@ type
procedure N2Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure v1Column14PropertiesEditValueChanged(Sender: TObject);
procedure Tv1BusinessCategoryPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure Tv1DetailItemPropertiesEditValueChanged(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
@ -130,7 +133,7 @@ implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_InvoiceInInPut, U_LabelPrint,
U_AttachmentUploadIvI, U_PayableSel;
U_AttachmentUploadIvI, U_PayableSel, U_BizCateSel;
{$R *.dfm}
@ -779,5 +782,59 @@ begin
end;
procedure TfrmInvoiceInList.Tv1BusinessCategoryPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
if CDS_Invoice.IsEmpty then
Exit;
try
frmBizCateSel := TfrmBizCateSel.Create(Application);
with frmBizCateSel do
begin
if ShowModal = 1 then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('update Finance_Invoice set business_category=' + QuotedStr(Trim(SelCateName)));
SQL.Add(',detail_item=' + QuotedStr(Trim(SelItemName)));
SQL.Add(' where IVID=' + QuotedStr(Trim(CDS_Invoice.FieldByName('IVID').AsString)));
ExecSQL;
end;
CDS_Invoice.Edit;
CDS_Invoice.FieldByName('business_category').Value := Trim(SelCateName);
CDS_Invoice.FieldByName('detail_item').Value := Trim(SelItemName);
CDS_Invoice.Post;
end;
end;
finally
frmBizCateSel.Free;
end;
end;
procedure TfrmInvoiceInList.Tv1DetailItemPropertiesEditValueChanged(Sender: TObject);
var
mvalue: string;
begin
if CDS_Invoice.IsEmpty then
Exit;
mvalue := TcxTextEdit(Sender).EditingText;
with CDS_Invoice do
begin
Edit;
FieldByName('detail_item').Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('update Finance_Invoice set detail_item=' + QuotedStr(Trim(mvalue)));
SQL.Add(' where IVID=' + QuotedStr(Trim(CDS_Invoice.FieldByName('IVID').AsString)));
ExecSQL;
end;
end;
end.

View File

@ -702,9 +702,9 @@ inherited frmWBSpecInPut: TfrmWBSpecInPut
object Label43: TLabel
Left = 0
Top = 540
Width = 636
Width = 822
Height = 21
Caption = #25972#32463#24037#33402#21517#31216' = '#32463#32433#20195#21495' + '#32463#32433#25903#25968' + '#22383#24067#38376#24133' + '#22383#24067#31181#31867#20195#21495#65288#33394#32455#24067' A '#12289#22383#24067' B'#65289
Caption = #25972#32463#24037#33402#21517#31216' = '#32463#32433#20195#21495' + '#32463#32433#25903#25968' + '#22383#24067#38376#24133' + '#22383#24067#31181#31867#20195#21495#65288#33394#32455#24067'A'#12289#22383#24067'B'#12289#21943#27668#33394#32455'PA'#12289#21943#27668#30333#22383'PB'#65289
Font.Charset = ANSI_CHARSET
Font.Color = clBlue
Font.Height = -16

View File

@ -147,31 +147,31 @@
<File Path="U_WBNeedHTList.dfm"/>
</ProjectSortOrder>
<Transactions>
<Transaction>1899/12/30 00:00:00.000.512,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E00梭织通用窗体\U_TatPlanSel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.423,D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E00梭织通用窗体\U_TatPlanSel.pas=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E00梭织通用窗体\U_TatPlanSel2.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.158,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E00梭织通用窗体\U_TatGYSel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.585,=D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_TatWBOutputList_XZ.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.024,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_WeaveSel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.416,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E00梭织通用窗体\U_TatYarnSel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.020,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_WBNeedHTList.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.162,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_TatWBPlanZJZKInPut.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.108,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_TatWBPlan.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.512,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E00梭织通用窗体\U_TatPlanSel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.444,D:\Dp10RepoV1\项目代码\D10gmHuahudie\A02基础产品管理\U_WBSpecInPut.dfm=D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_WBSpecInPut.dfm</Transaction>
<Transaction>1899/12/30 00:00:00.000.423,D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E00梭织通用窗体\U_TatPlanSel.dfm=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E00梭织通用窗体\U_TatPlanSel2.dfm</Transaction>
<Transaction>1899/12/30 00:00:00.000.210,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_WBNeedHTLook.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.318,D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_TatWBOutputList_XB.pas=D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_TatWBOutputList_JT.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.584,=D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_TatWBOutputList_CZ.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.158,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E00梭织通用窗体\U_TatGYSel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.444,D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_WBSpecInPut.pas=D:\Dp10RepoV1\项目代码\D10gmHuahudie\A02基础产品管理\U_WBSpecInPut.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.717,D:\Dp10RepoV1\项目代码\D10szKaiXiYa\A02基础产品管理\U_TatClothInfoInput.pas=</Transaction>
<Transaction>1899/12/30 00:00:00.000.318,D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_TatWBOutputList_JT.dfm=D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_TatWBOutputList_XB.dfm</Transaction>
<Transaction>1899/12/30 00:00:00.000.444,D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_WBSpecInPut.dfm=D:\Dp10RepoV1\项目代码\D10gmHuahudie\A02基础产品管理\U_WBSpecInPut.dfm</Transaction>
<Transaction>1899/12/30 00:00:00.000.215,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_Tat_WB_InPut.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.192,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_TatWBPlanZJZK.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.981,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_GKInput.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.922,=D:\Dp10RepoV1\public10\ThreeFun\Fun\uSZHN_JSON.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.423,D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E00梭织通用窗体\U_TatPlanSel2.dfm=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E00梭织通用窗体\U_TatPlanSel.dfm</Transaction>
<Transaction>1899/12/30 00:00:00.000.318,D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_TatWBOutputList_XB.dfm=D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_TatWBOutputList_JT.dfm</Transaction>
<Transaction>1899/12/30 00:00:00.000.378,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\B02基础纱线仓库\U_YarnCFInfoSel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.373,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_TatWBPlanZJZKKaiKa.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.020,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_WBNeedHTList.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.162,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_TatWBPlanZJZKInPut.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.108,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_TatWBPlan.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.598,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_LogInput.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.535,=D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_TatWBOutputList_JT.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.556,=D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_TatWBOutputList_SZ.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.444,D:\Dp10RepoV1\项目代码\D10gmHuahudie\A02基础产品管理\U_WBSpecInPut.pas=D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_WBSpecInPut.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.423,D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E00梭织通用窗体\U_TatPlanSel2.pas=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E00梭织通用窗体\U_TatPlanSel.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.598,=D:\Dp10RepoV1\项目代码\D10SZKaiXiYa\E02梭织经轴仓库\U_LogInput.pas</Transaction>
<Transaction>1899/12/30 00:00:00.000.318,D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_TatWBOutputList_JT.pas=D:\Dp10RepoV1\项目代码\D10gmHuahudie\E02梭织经轴仓库\U_TatWBOutputList_XB.pas</Transaction>
</Transactions>
</BorlandProject>