📄 inv_journalqry_c.pas
字号:
+' Left Join Customer On InvOutBill.CustomerCode=Customer.CustomerCode'
+' Left Join Dept On InvOutBill.DeptCode=Dept.DeptCode'
+' Where InvOutBill.InvBillMonth>='''+StArtMonth+''''
+' And InvOutBill.InvBillMonth<='''+endMonth+''''
+' And InvOutBill.WHCode='''+GetCode(CmBx_Warehouse.Text)+''''
+' And InvOutBillLine.ItemCode='''+ExtEdt_ItemCode.Text+''''
+' And ((InvOutBill.BillTypeCode In (''0202''))'
+' Or ((InvOutBill.BillTypeCode In (''0201'',''0203'',''0204'',''0299''))'
+' And (InvOutBill.InvBillWHChck=1)))';
AdoQry_Tmp.ExecSQL;
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:='Select JournalQryId,DateSting'
+',MonthSting'
+',BillTypeCode'
+',InvBillNo'
+',MoPoNo'
+',InvBillRemArk'
+',InvBillQty'
+',OInvBillQty'
+',InvBlncQty'
+',InvBillPrice'
+',OInvBillPrice'
+',InvBlncPrice'
+',InvBillAmount'
+',OInvBillAmount'
+',InvBlncAmount'
+',InvBillCreateTime'
+' From #JournalQry'
+' Where MonthSting>='''+StArtMonth+'_'''
+' And MonthSting<='''+endMonth+'_'''
+' Order By MonthSting,InvBillCreateTime';
AdoQry_Tmp.Open;
NowMonth:=FormatDateTime('yyyy.mm',IncMonth(StrToDateTime(StrMonth+'.01'),1));
if NowMonth<>endMonth then
begin
if not AdoQry_Tmp.Locate('DateSting',NowMonth,[]) then
begin
AdoQry_Tmp.Append;
AdoQry_Tmp.fieldbyname('DateSting').AsString:=NowMonth;
AdoQry_Tmp.fieldbyname('MonthSting').AsString:=NowMonth+'_';
AdoQry_Tmp.fieldbyname('BillTypeCode').AsString:='0000';
AdoQry_Tmp.fieldbyname('InvBillNo').AsString:='';
AdoQry_Tmp.fieldbyname('MoPoNo').AsString:='';
AdoQry_Tmp.fieldbyname('InvBillRemArk').AsString:='本月合计(未结帐)';
AdoQry_Tmp.fieldbyname('InvBillQty').AsString:='0';
AdoQry_Tmp.fieldbyname('OInvBillQty').AsString:='0';
AdoQry_Tmp.fieldbyname('InvBlncQty').AsString:='0';
AdoQry_Tmp.fieldbyname('InvBillPrice').AsString:='0';
AdoQry_Tmp.fieldbyname('OInvBillPrice').AsString:='0';
AdoQry_Tmp.fieldbyname('InvBlncPrice').AsString:='0';
AdoQry_Tmp.fieldbyname('InvBillAmount').AsString:='0';
AdoQry_Tmp.fieldbyname('OInvBillAmount').AsString:='0';
AdoQry_Tmp.fieldbyname('InvBlncAmount').AsString:='0';
AdoQry_Tmp.fieldbyname('InvBillCreateTime').AsDateTime:=Now;
AdoQry_Tmp.Post;
end;
end;
AdoQry_Tmp.First;
if not AdoQry_Tmp.Locate('MonthSting',StrMonth+'_',[]) then
begin
AdoQry_Tmp.Append;
AdoQry_Tmp.fieldbyname('DateSting').AsString:=StrMonth;
AdoQry_Tmp.fieldbyname('MonthSting').AsString:=StrMonth+'_';
AdoQry_Tmp.fieldbyname('BillTypeCode').AsString:='0000';
AdoQry_Tmp.fieldbyname('InvBillNo').AsString:='';
AdoQry_Tmp.fieldbyname('MoPoNo').AsString:='';
AdoQry_Tmp.fieldbyname('InvBillRemArk').AsString:='本月合计';
AdoQry_Tmp.fieldbyname('InvBillQty').AsString:='0';
AdoQry_Tmp.fieldbyname('OInvBillQty').AsString:='0';
AdoQry_Tmp.fieldbyname('InvBlncQty').AsString:='0';
AdoQry_Tmp.fieldbyname('InvBillPrice').AsString:='0';
AdoQry_Tmp.fieldbyname('OInvBillPrice').AsString:='0';
AdoQry_Tmp.fieldbyname('InvBlncPrice').AsString:='0';
AdoQry_Tmp.fieldbyname('InvBillAmount').AsString:='0';
AdoQry_Tmp.fieldbyname('OInvBillAmount').AsString:='0';
AdoQry_Tmp.fieldbyname('InvBlncAmount').AsString:='0';
AdoQry_Tmp.fieldbyname('InvBillCreateTime').AsDateTime:=Now;
AdoQry_Tmp.Post;
end;
if(StrToDateTime(MEdt_StArtDate.Text+'.01')-1>=StrToDateTime(StrMonth+'.01')) then
begin
end;
AdoQry_Tmp.Sort := 'MonthSting,InvBillCreateTime';
AmountIn:=0;
AmountOut:=0;
AmountTotal:=0;
AmountInm:=0;
AmountOutm:=0;
AmountTotalm:=0;
InvBlncPrice:=0;
AdoQry_Tmp.First;
while not AdoQry_Tmp.Eof do
begin
if(AdoQry_Tmp.fieldbyname('InvBillRemArk').AsString<>'本月合计')then
begin
if(AdoQry_Tmp.fieldbyname('InvBillRemArk').AsString='本月合计(未结帐)')then
begin
AdoQry_Tmp.Edit;
AdoQry_Tmp.fieldbyname('InvBlncQty').AsFloat:=AmountTotal;
AdoQry_Tmp.fieldbyname('InvBillQty').AsFloat:=0;//AmountIn;
AdoQry_Tmp.fieldbyname('OInvBillQty').AsFloat:=0;//AmountOut;
AdoQry_Tmp.fieldbyname('InvBlncAmount').AsFloat:=AmountTotalm;
AdoQry_Tmp.fieldbyname('InvBillAmount').AsFloat:=0;//AmountInm;
AdoQry_Tmp.fieldbyname('OInvBillAmount').AsFloat:=0;//AmountOutm;
if AmountTotal<>0 then
AdoQry_Tmp.fieldbyname('InvBlncPrice').AsFloat:= AmountTotalm/AmountTotal
else
AdoQry_Tmp.fieldbyname('InvBlncPrice').AsFloat:=0;
AdoQry_Tmp.Post;
end
else
begin
if (AdoQry_Tmp.fieldbyname('BillTypeCode').AsString<>'0000') and
(AdoQry_Tmp.fieldbyname('BillTypeCode').AsString<>'1102') then
begin
AdoQry_Tmp.Edit;
AmountTotal:=AmountTotal+AdoQry_Tmp.fieldbyname('InvBillQty').AsFloat
-AdoQry_Tmp.fieldbyname('OInvBillQty').AsFloat;
AdoQry_Tmp.fieldbyname('InvBlncQty').AsFloat:=AmountTotal;
AmountIn:=AmountIn+AdoQry_Tmp.fieldbyname('InvBillQty').AsFloat;
AmountOut:=AmountOut+AdoQry_Tmp.fieldbyname('OInvBillQty').AsFloat;
AmountTotalm:=AmountTotalm+AdoQry_Tmp.fieldbyname('InvBillAmount').AsFloat
-AdoQry_Tmp.fieldbyname('oInvBillAmount').AsFloat;
AdoQry_Tmp.fieldbyname('InvBlncAmount').AsFloat:=AmountTotalm;
if (AmountTotal=0 ) or (AmountTotalm=0) then
AdoQry_Tmp.fieldbyname('InvBlncPrice').AsFloat:=0
else
AdoQry_Tmp.fieldbyname('InvBlncPrice').AsFloat:=AmountTotalm/AmountTotal;
AmountInm:=AmountInm+AdoQry_Tmp.fieldbyname('InvBillAmount').AsFloat;
AmountOutm:=AmountOutm+AdoQry_Tmp.fieldbyname('OInvBillAmount').AsFloat;
InvBlncPrice:=AdoQry_Tmp.fieldbyname('InvBlncPrice').AsFloat ;
AdoQry_Tmp.Post;
end;
end;
end
else
begin
AmountTotal:=AdoQry_Tmp.fieldbyname('InvBlncQty').AsFloat;
AmountIn:=0;//AdoQry_Tmp.fieldbyname('InvBillQty').AsFloat;
AmountOut:=0;//AdoQry_Tmp.fieldbyname('OInvBillQty').AsFloat;
AmountTotalm:=AdoQry_Tmp.fieldbyname('InvBlncAmount').AsFloat;
//InvBlncPrice:=AdoQry_Tmp.fieldbyname('InvBlncPrice').AsFloat ;
AmountInm:=0;//AdoQry_Tmp.fieldbyname('InvBillQty').AsFloat;
AmountOutm:=0;//AdoQry_Tmp.fieldbyname('OInvBillQty').AsFloat;
end;
AdoQry_Tmp.Next;
end;
ConditionHint:='仓库: '+CmBx_Warehouse.Text+'/物料: '
+ExtEdt_ItemCode.Text+' '+Lbl_ItemName.Caption+' '+Lbl_UomName.Caption;
Condition:='MonthSting>='''+StArtMonth+'_'''
+' And MonthSting<='''+endMonth+'_''';
FatherForm.SetFormParam(MEdt_StArtDate.Text,MEdt_EndDate.Text,'','','','');
ModalResult:=mrOk;
end;
procedure TFrm_Inv_JournalQry_C.FormActivate(Sender: TObject);
begin
inherited;
if CmBx_Warehouse.Items.Count=0 then
begin
MEdt_StArtDate.Text:=FormatDateTime('yyyy.mm',IncMonth(Now,-1));
MEdt_EndDate.Text:=FormatDateTime('yyyy.mm',Now);
InitUsableWHCmBx(AdoQry_Tmp,UserCode,CmBx_Warehouse,False);
end;
end;
procedure TFrm_Inv_JournalQry_C.ItemCodeCheck(Sender: TObject);
begin
inherited;
if(ActiveControl.Name='btn_Cancel')then
Exit;
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:='Select Uom.UomName From Item'
+' Join Uom On Item.UomCode=Uom.UomCode'
+' Where Item.ItemCode='''+TExtEdit(Sender).Text+'''';
AdoQry_Tmp.Open;
Lbl_UomName.Caption:=AdoQry_Tmp.fieldbyname('UomName').AsString;
end;
procedure TFrm_Inv_JournalQry_C.SetFormParam(FrmParam1, FrmParam2,
FrmParam3, FrmParam4, FrmParam5, FrmParam6: String);
var
i:integer;
begin
inherited;
if CmBx_Warehouse.Items.Count=0 then
begin
MEdt_StArtDate.Text:=FormatDateTime('yyyy.mm',IncMonth(Now,-1));
MEdt_EndDate.Text:=FormatDateTime('yyyy.mm',Now);
InitUsableWHCmBx(AdoQry_Tmp,UserCode,CmBx_Warehouse,False);
end;
MEdt_StArtDate.Text:=FrmParam4;
MEdt_EndDate.Text:=FrmParam4;
ExtEdt_ItemCode.Text:=FrmParam5;
for i:=0 to CmBx_Warehouse.Items.Count-1 do
begin
if FrmParam6=GetCode(CmBx_Warehouse.Text) then
begin
CmBx_Warehouse.ItemIndex:=i;
break;
end;
end;
btn_okClick(btn_ok);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -