⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ar_enter_saleinvoice1.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 4 页
字号:
             AdoQry_Body.fieldbyname('TaxPrice').AsString:=AdoQry_tmp.fieldbyname('InvBillPrice').AsString;
             AdoQry_Body.fieldbyname('TaxAmount').AsString:=AdoQry_tmp.fieldbyname('InvBillAmount').AsString;
             AdoQry_Body.fieldbyname('TaxPriceC').AsString := AdoQry_Tmp.fieldbyname('InvBillPriceC').AsString;
             AdoQry_Body.fieldbyname('TaxAmountC').AsString := AdoQry_Tmp.fieldbyname('InvBillAmountC').AsString;            
             AdoQry_Body.fieldbyname('NoTaxPrice').AsString:=AdoQry_tmp.fieldbyname('InvBillNoTaxPrice').AsString;
             AdoQry_Body.fieldbyname('NoTaxAmount').AsString:=AdoQry_tmp.fieldbyname('InvBillNoTaxAmount').AsString;
             AdoQry_Body.fieldbyname('DiSCountRate').AsString:=AdoQry_tmp.fieldbyname('DiSCountRate').AsString;
             AdoQry_Body.fieldbyname('DiSCountAmount').AsString:=AdoQry_tmp.fieldbyname('DiSCountAmount').AsString;
             AdoQry_Body.Post;
             AdoQry_tmp.Next;
           end;
      end;
      AdoQuery.Next;
    end;
    DataSource.DataSet:=AdoQry_Body;
  end
  else
  begin
    If FormStatus='Edit' then
    begin
      CurrentFormStatus:='Edit';
      Pnl_Title.Caption := IIfString(Param1='0','普通发票','出口发票');
      Pnl_Title.Refresh;
      Frm_Ar_Enter_SaleInvoice1H.Caption := IIfString(Param1='0','普通发票','出口发票');
      With AdoQry_Head do
      begin
//        TaxRate := fieldbyname('TaxRate').AsFloat;
        Edt_CustomerCode.Text:=fieldbyname('CustomerCode').AsString;
        Edt_CustomerName.Caption:=fieldbyname('CustomerName').AsString;
        Edt_CreateEmployeeCode.Text:=fieldbyname('CreateEmployeeCode').AsString;
        Edt_CreateEmployeeName.Text := fieldbyname('CreaterName').AsString;
        ExecuteSql(AdoQry_tmp,'select EmployeeName from Employee where EmployeeCode='+QuotedStr(Edt_CreateEmployeeCode.Text),0);
        Edt_CreateEmployeeName.Text := AdoQry_tmp.fieldbyname('EmployeeName').AsString;
        MEdt_CreateDate.Text:=Formatdatetime('yyyy.mm.dd',fieldbyname('BillDate').asdatetime);
        MEdt_InAccountDate.Text:=Formatdatetime('yyyy.mm.dd',fieldbyname('InAccountDate').asdatetime);
        Edt_CurrencyCode.Text:=fieldbyname('CurrencyCode').AsString;
        edt_SaleTypeCode.Text:=fieldbyname('SaleTypeCode').asstring;
        edt_SaleTypeName.Text:=fieldbyname('SaleTypeName').asstring;
        Edt_ExportTypeCode.Text := fieldbyname('ExportTradeTypeCode').AsString;
        Edt_ExportTypeName.Text := fieldbyname('ExportTradeTypeName').AsString;        
        edt_Customerbank.Text:=fieldbyname('bank').asstring;
        edt_Customerbankactno.Text:=fieldbyname('bankactno').asstring;
        edt_DeptCode.Text:=fieldbyname('SaleDeptCode').asstring;
        edt_DeptName.Text:=fieldbyname('DeptName').asstring;
        edt_SaleEmployeeCode.Text:=fieldbyname('SaleEmployeeCode').asstring;
        edt_SaleEmployeeName.Text:=fieldbyname('SaleEmployeeName').asstring;    
        Edt_SaleTermCode.Text:=fieldbyname('SaleTermCode').AsString;
        Edt_RemArk.Text:=fieldbyname('RemArk').AsString;
        Edt_TotalTaxAmount.Text:=fieldbyname('TotalTaxAmount').AsString;
        Edt_TotalNoTaxAmount.Text := fieldbyname('TotalNoTaxAmount').AsString;
        Edt_TotalTax.Text := fieldbyname('TotalTax').AsString;
        Edit1.Text :=fieldbyname('CurrencyName').AsString;
        Edit2.Text:=fieldbyname('CustomerName').AsString;
        Edit3.Text:=fieldbyname('PayTermName').AsString;
        Edt_ExchangeRate.Text:=fieldbyname('ExchangeRate').AsString;
        Edt_TaxRate.Text := fieldbyname('TaxRate').AsString;
        Edt_InvoiceNo.Text:=fieldbyname('InvoiceNo').AsString;
        Lab_CurrencyName.Caption:=fieldbyname('CurrencyName').AsString;
        Lab_SaleTermName.Caption:=fieldbyname('PayTermName').AsString;

        SqlText:=' Select  Sa_SaleInvoiceLine.InvoiceNo,Sa_SaleInvoiceLine.InvBillId, '
                +'   InvOutBill.InvBillNo as ShipNo,Sa_SaleInvoiceLine.InvBillLineNo as ShipLineNo,   '
                +'   InvOutBillLine.ItemCode, '
                +'   InvOutBillLine.InvBillQty as ShipQty , InvOutBillLine.InvBillPrice as TaxPrice, InvOutBillLine.InvBillPriceC as TaxPriceC,'
                +'   InvOutBillLine.InvBillAmount as TaxAmount, InvOutBillLine.InvBillAmountC as TaxAmountC,InvOutBillLine.InvBillNoTaxPrice as NoTaxPrice, '
                +'   InvOutBillLine.InvBillNoTaxAmount as  NoTaxAmount,InvOutBillLine.DiSCountRate, '
                +'   InvOutBillLine.DiSCountAmount , '
                +'   Item.ItemName,Uom.UomName '
                +'   From Sa_SaleInvoiceLine '
                +'    Join InvOutBillLine on Sa_SaleInvoiceLine.InvBillId=InvOutBillLine.InvBillId '
                +'                   and Sa_SaleInvoiceLine.InvBillLineNo=InvOutBillLine.InvBillLineNo '
                +'    Join InvOutBill on InvOutBillLine.InvBillId = InvOutBill.InvBillId '
                +'   left Join  Item '
                +'     On InvOutBillLine.ItemCode=Item.ItemCode '
                +'   left Join Uom '
                +'     On Item.UomCode=Uom.UomCode '
                    +'     where Sa_SaleInvoiceLine.InvoiceNo= '''+fieldbyname('InvoiceNo').AsString+''' ' ;
       AdoQry_Body.Close;
       AdoQry_Body.SQL.Text:=SqlText;
       AdoQry_Body.Open;
      end
    end
      else
      begin
        If FormStatus='Query' then
          begin
            CurrentFormStatus:='Query';
            Pnl_Title.Caption := IIfString(Param1='0','普通发票查询','出口发票查询');
            Pnl_Title.Refresh;
            Frm_Ar_Enter_SaleInvoice1H.Caption := IIfString(Param1='0','普通发票查询','出口发票查询');
            With AdoQry_Head do
            begin
//              TaxRate := fieldbyname('TaxRate').AsFloat;
              Edt_TaxRate.Text := fieldbyname('TaxRate').AsString;
              Edt_CustomerCode.Text:=fieldbyname('CustomerCode').AsString;
              Edt_CustomerName.Caption:=fieldbyname('CustomerName').AsString;
              Edt_CreateEmployeeCode.Text:=fieldbyname('CreateEmployeeCode').AsString;
              Edt_CreateEmployeeName.Text := fieldbyname('CreaterName').AsString;
              ExecuteSql(AdoQry_tmp,'select EmployeeName from Employee where EmployeeCode='+QuotedStr(Edt_CreateEmployeeCode.Text),0);
              Edt_CreateEmployeeName.Text := AdoQry_tmp.fieldbyname('EmployeeName').AsString;
              MEdt_CreateDate.Text:=Formatdatetime('yyyy.mm.dd',fieldbyname('BillDate').asdatetime);
              Medt_InAccountDate.Text := FormatDateTime('yyyy.mm.dd',fieldbyname('InAccountDate').AsDateTime);
              Edt_CurrencyCode.Text:=fieldbyname('CurrencyCode').AsString;
              edt_SaleTypeCode.Text:=fieldbyname('SaleTypeCode').asstring;
              edt_SaleTypeName.Text:=fieldbyname('SaleTypeName').asstring;
              Edt_ExportTypeCode.Text := fieldbyname('ExportTradeTypeCode').AsString;
              Edt_ExportTypeName.Text := fieldbyname('ExportTradeTypeName').AsString;        
              edt_DeptCode.Text:=fieldbyname('SaleDeptCode').asstring;
              edt_DeptName.Text:=fieldbyname('DeptName').asstring;
              edt_SaleEmployeeCode.Text:=fieldbyname('SaleEmployeeCode').asstring;
              edt_SaleEmployeeName.Text:=fieldbyname('SaleEmployeeName').asstring;    

              Edt_SaleTermCode.Text:=fieldbyname('SaleTermCode').AsString;
              Edt_RemArk.Text:=fieldbyname('RemArk').AsString;
              Edt_TotalTaxAmount.Text:=fieldbyname('TotalTaxAmount').AsString;
              Edt_TotalNoTaxAmount.Text := fieldbyname('TotalNoTaxAmount').AsString;
              Edt_TaxRate.Text := fieldbyname('TaxRate').AsString;
              Edit1.Text :=fieldbyname('CurrencyName').AsString;
              Edit2.Text:=fieldbyname('CustomerName').AsString;
              Edit3.Text:=fieldbyname('PayTermName').AsString;
              Edt_ExchangeRate.Text:=fieldbyname('ExchangeRate').AsString;
              Edt_InvoiceNo.Text:=fieldbyname('InvoiceNo').AsString;

              Lab_CurrencyName.Caption:=fieldbyname('CurrencyName').AsString;
              Lab_SaleTermName.Caption:=fieldbyname('PayTermName').AsString;

              SqlText:=' Select  Sa_SaleInvoiceLine.InvoiceNo,Sa_SaleInvoiceLine.InvBillId, '
                      +'   InvOutBill.InvBillNo as ShipNo,Sa_SaleInvoiceLine.InvBillLineNo as ShipLineNo,   '
                      +'   InvOutBillLine.ItemCode, '
                      +'   InvOutBillLine.InvBillQty as ShipQty , InvOutBillLine.InvBillPrice as TaxPrice, InvOutBillLine.InvBillPriceC as TaxPriceC,'
                      +'   InvOutBillLine.InvBillAmount as TaxAmount, InvOutBillLine.InvBillAmountC as TaxAmountC,InvOutBillLine.InvBillNoTaxPrice as NoTaxPrice, '
                      +'   InvOutBillLine.InvBillNoTaxAmount as  NoTaxAmount,InvOutBillLine.DiSCountRate, '
                      +'   InvOutBillLine.DiSCountAmount , '
                      +'   Item.ItemName,Uom.UomName '
                      +'   From Sa_SaleInvoiceLine '
                      +'    Join InvOutBillLine on Sa_SaleInvoiceLine.InvBillId=InvOutBillLine.InvBillId '
                      +'                   and Sa_SaleInvoiceLine.InvBillLineNo=InvOutBillLine.InvBillLineNo '
                      +'    Join InvOutBill on InvOutBillLine.InvBillId = InvOutBill.InvBillId '
                      +'   left Join  Item '
                      +'     On InvOutBillLine.ItemCode = Item.ItemCode '
                      +'   left Join Uom '
                      +'     On Item.UomCode=Uom.UomCode '
                          +'     where Sa_SaleInvoiceLine.InvoiceNo= '''+fieldbyname('InvoiceNo').AsString+''' ' ;
             AdoQry_Body.Close;
             AdoQry_Body.SQL.Text:=SqlText;
             AdoQry_Body.Open;
           end ;
      end;
    end;
  end;
end;

procedure TFrm_Ar_Enter_SaleInvoice1.InitControls;
begin
  If Status<>'Add' then
  begin
    CurrentFormStatus:='PArtEdit';
    SetFocus_Control:=Edt_CustomerCode;
  end
  Else
  begin
    CurrentFormStatus:='Add';
  end;
{  If Status='Query' Then
  begin
    Caption:='普通发票';
    Pnl_Title.Caption:='普通发票';
  end;        }
  inherited;
  act_Modify.Enabled:=False;
  act_insertline.Enabled:=False;
  act_Deleteline.Enabled:=False;
  edt_ExchangeRate.Enabled:=False;
  Edt_TaxRate.Enabled := False;
  edt_CurrencyCode.Enabled:=False;
  Edt_CustomerCode.Enabled := False;
  Edt_SaletermCode.Enabled := False;
  Edt_TotalTaxAmount.Enabled := False;
  Edt_TotalNoTaxAmount.Enabled := False;
  Edt_TotalTax.Enabled := False;
  Edt_SaleTypeCode.Enabled := False;
  Edt_DeptCode.Enabled := False;
  Edt_SaleEmployeeCode.Enabled := False;
  Edt_CreateEmployeeCode.Enabled := False;
  Label19.Visible := IIFValue(Param1='0',False,True);
  Edt_ExportTypeCode.Visible := IIFValue(Param1='0',False,True);
  Edt_ExportTypeName.Visible := IIFValue(Param1='0',False,True);
  Edit1.Enabled := False;
  Edit2.Enabled := False;
  Edit3.Enabled := False;
  Edt_SaleTypeName.Enabled := False;
  Edt_DeptName.Enabled := False;
  Edt_SaleEmployeeName.Enabled :=False;
  Edt_CreateEmployeeName.Enabled :=False;
end;

procedure TFrm_Ar_Enter_SaleInvoice1.Edt_SaleTermCodeKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
   If key=120 Then
  CommOnHint(Sender,AdoQry_Tmp,'PayTermName','付款条款名称','PayTermCode',
             '付款条款代号',' PayTerm ');
end;

procedure TFrm_Ar_Enter_SaleInvoice1.Edt_SaleTermCodeExit(Sender: TObject);
begin
  inherited;
  If Trim(Edt_SaleTermCode.text)='' then
  begin
//    DispInfo('付款条款不能为空!',3);
  //  Edt_SaleTermCode.SetFocus;
    //Abort;
  end
  else
  begin                                  
    AdoQry_Tmp.Close;
    AdoQry_Tmp.SQL.clear;
    AdoQry_Tmp.SQL.Text:=' Select * from PayTerm where PayTermCode='''+Trim(Edt_SaleTermCode.text)+''' ';
    AdoQry_Tmp.Open;
    if AdoQry_Tmp.Eof then
    begin
      DispInfo('付款条款输入错误!',3);
      Edt_SaleTermCode.SetFocus;
      Abort;
    end;
  end;
  Edit3.Text :=AdoQry_tmp.fieldbyname('PayTermName').asstring;
end;

procedure TFrm_Ar_Enter_SaleInvoice1.AdoQry_BodyAfterPost(DataSet: TDataSet);
var
  BookMArk:String;
begin
  inherited;
  TotalNoTaxAmount:=0;
  TotalTaxAmount:=0;
  if  AdoQry_Body.RecordCount >0 then
    BookMArk:=AdoQry_Body.BookMArk;
  AdoQry_Body.First;
  while not AdoQry_Body.Eof do
  begin
    TotalTaxAmount:= TotalTaxAmount +AdoQry_Body.fieldbyname('TaxAmount').asfloat;
    TotalNoTaxAmount := TotalNoTaxAmount + AdoQry_Body.fieldbyname('NoTaxAmount').AsFloat;
    AdoQry_Body.Next;
  end;
  if  AdoQry_Body.RecordCount >0 then
    AdoQry_Body.BookMArk:=BookMArk;

  Edt_TotalTaxAmount.Text := FormatFloat('####0.##',TotalTaxAmount);
  Edt_TotalNoTaxAmount.Text := FormatFloat('####0.##',TotalNoTaxAmount);
  Edt_TotalTax.Text := FormatFloat('####0.##',TotalTaxAmount-TotalNoTaxAmount);
end;

procedure TFrm_Ar_Enter_SaleInvoice1.SetStatus(CurrentStatus: String;
  var AnswerStatus, EnableControls: String);
begin
  inherited;
  if CurrentFormStatus='Add' then
  begin
    AnswerStatus:='Add';
    EnableControls:=' MEdt_CreateDate,MEdt_InAccountDate,Edt_CustomerBank,Edt_CustomerBankActNo,Edt_RemArk,Edt_InvoiceNo,';
  end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -