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

📄 sal_enter_othersaleinvoice.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 2 页
字号:
procedure TFrm_Sal_Enter_OtherSaleInvoice.Act_DeleteLineExecute(Sender: TObject);
var
  BookMArk:String;
begin
  inherited;
{ if (not AdoQry_Body.IsEmpty)and
     (DispInfo(' 真的删除当前记录吗? ',2)='y') then

    AdoQry_Body.Delete;
  If  AdoQry_Body.RecordCount>0 Then
  begin
    BookmArk:=AdoQry_Body.BookmArk;
    AdoQry_Body.First;
    While Not AdoQry_Body.Eof Do
    begin
      AdoQry_Body.Edit;
      AdoQry_Body.fieldbyname('ShipLineNo').AsInteger:=AdoQry_Body.RecNo;
      AdoQry_Body.Post;
      AdoQry_Body.Next;
    end;
    AdoQry_Body.BookmArk:=BookMArk;
  end;}
end;

procedure TFrm_Sal_Enter_OtherSaleInvoice.Act_PreviewExecute(Sender: TObject);
begin
//  inherited;
{  if  Act_Save.Enabled = True then
  begin
    DispInfo('没有保存数据,不能预览!',1);
    Abort;
  end;
  If AdoQry_Body.RecordCount=0 Then
  begin
    DispInfo('没有行数据,不能预览!',1);
    Abort;
  end;
  Frm_Sal_Enter_ShipOrder_P:=TFrm_Sal_Enter_ShipOrder_P.Create(Application);
  Frm_Sal_Enter_ShipOrder_P.SetDBConnect(DbConnect);
  Frm_Sal_Enter_ShipOrder_P.SetSysParam(UserCode,ModuleCode,MenuId,DateTimeToStr(Now));
  Frm_Sal_Enter_ShipOrder_P.GetHeadData(AdoQry_Body,Trim(Edt_ShipNo.Text),'Preview');
  Frm_Sal_Enter_ShipOrder_P:=Nil;}
end;

procedure TFrm_Sal_Enter_OtherSaleInvoice.Act_PrintExecute(Sender: TObject);
begin
 // inherited;
{ if  Act_Save.Enabled = True then
  begin
    DispInfo('没有保存数据,不能打印!',1);
    Abort;
  end;
  If AdoQry_Body.RecordCount=0 Then
  begin
    DispInfo('没有行数据,不能打印!',1);
    Abort;
  end;
  Frm_Sal_Enter_ShipOrder_P:=TFrm_Sal_Enter_ShipOrder_P.Create(Application);
  Frm_Sal_Enter_ShipOrder_P.SetDBConnect(DbConnect);
  Frm_Sal_Enter_ShipOrder_P.SetSysParam(UserCode,ModuleCode,MenuId,DateTimeToStr(Now));
  Frm_Sal_Enter_ShipOrder_P.GetHeadData(AdoQry_Body,Trim(Edt_ShipNo.Text),'Print');
  Frm_Sal_Enter_ShipOrder_P:=Nil;}
end;

procedure TFrm_Sal_Enter_OtherSaleInvoice.Act_NewExecute(Sender: TObject);
begin
{  if Frm_Sal_Enter_ShipOrder_C1<>nil then
    Frm_Sal_Enter_ShipOrder_C1:=TFrm_Sal_Enter_ShipOrder_C1.Create(Application);
    Frm_Sal_Enter_ShipOrder_C1.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
    Frm_Sal_Enter_ShipOrder_C1.InitForm(DbConnect,False);}

  inherited;

end;

procedure TFrm_Sal_Enter_OtherSaleInvoice.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  Frm_Sal_Enter_OtherSaleInvoice:=nil;
end;

procedure TFrm_Sal_Enter_OtherSaleInvoice.SaveData;
var
  SqlText:String;
  I:integer;
begin
  inherited;
  If AdoQry_Body.RecordCount=0 Then
  begin
    DispInfo('没有行数据,不能保存!',3);
    Abort;
  end;
  I:=1;
  AdoQry_Body.First;
  While Not AdoQry_Body.Eof Do
  begin
    If StrToFloat(FormatFloat('##0.##',AdoQry_Body.fieldbyname('ShipQty').AsFloat))<=0 Then
    begin
      DispInfo('第'+IntToStr(I)+'行数据的约定交货量小于等于了0,不能保存!',3);
      Abort;
    end;
    AdoQry_Body.Next;
     I:=I+1;
  end;
  Application.ProcessMessages;
  DbConnect.beginTrans;
  Try
    AdoQry_Body.First;
    If CurrentFormStatus='Add' Then
    begin
      if Edt_InvoiceNo.Text='' then
      abort;
      Application.ProcessMessages;
            SqlText:='Insert Sa_SaleInvoice '
              +' (InvoiceNo,CreateDate,CreateEmployeeCode,CustomerCode,CustomerBank,'
              +'  CustomerBankActNo,CurrencyCode,ExchangeRate,'
              +'  SaleTermCode,TotalTaxAmount,Assess,AssessorEmployeeCode,RemArk,BillType)'
              +'  Values('
              +''''+Trim(Edt_InvoiceNo.Text)+''','
              +''''+Trim(MEdt_CreateDate.Text)+''','
              +''''+Trim(Edt_CreateEmployeeCode.Text)+''','
              +''''+Trim(Edt_CustomerCode.Text)+''','
              +''''+Trim(Edt_CustomerBank.Text)+''','
              +''''+Trim(Edt_CustomerBankActNo.Text)+''','
              +''''+Trim(Edt_CurrencyCode.Text)+''','
              +''''+Trim(Edt_ExchangeRate.Text)+''','
              +''''+Trim(Edt_SaleTermCode.Text)+''','
              +''''+Trim(Edt_TotalTaxAmount.Text)+''','
              +''''+inttostr(Cx_Assess.ItemIndex)+''','
              +''''+Trim(Edt_AssessorEmployeeCode.Text)+''','
              +''''+Trim(Edt_RemArk.Text)+''',1)';
      AdoQry_Tmp.Close;
      AdoQry_Tmp.SQL.Text:=SqlText;
      AdoQry_Tmp.ExecSQL;
    //  SaveSa_SaleOrderHistory(dbconnect,Trim(edt_SloNo.text),userCode,0);
      AdoQry_Body.First;
      While Not AdoQry_Body.Eof Do
      begin

        SqlText:='Insert Sa_SaleInvoiceLine '
                +' (InvoiceNo,ShipNo,ShipLineNo,ItemCode,ShipQty,NoTaxPrice,NoTaxAmount,TaxPrice, '
                +' TaxAmount,DiSCountRate,DiSCountAmount) '
                +' Values('
                +''''+Trim(Edt_InvoiceNo.Text)+''','
                +''''+AdoQry_Body.fieldbyname('ShipNo').AsString+''','
                +''''+AdoQry_Body.fieldbyname('ShipLineNo').AsString+''','
                +''''+AdoQry_Body.fieldbyname('ItemCode').AsString+''','
                +''''+AdoQry_Body.fieldbyname('ShipQty').AsString+''','
                +''''+FloatToStr(AdoQry_Body.fieldbyname('noTaxPrice').AsFloat)+''','
                +''''+AdoQry_Body.fieldbyname('noTaxAmount').AsString+''''+','
                +''''+FloatToStr(AdoQry_Body.fieldbyname('TaxPrice').AsFloat)+''','
                +''''+AdoQry_Body.fieldbyname('TaxAmount').AsString+''''+','
                +''''+AdoQry_Body.fieldbyname('DiSCountRate').AsString+''''+','
                +''''+AdoQry_Body.fieldbyname('DiSCountAmount').AsString+''''+''
                +')';
        AdoQry_Tmp.Close;
        AdoQry_Tmp.SQL.Text:=SqlText;
        AdoQry_Tmp.ExecSQL;

        AdoQry_Body.Next;
      end;
    end;
    If CurrentFormStatus='Edit' Then
    begin
    //  SaveSa_SaleOrderHistory(dbconnect,Trim(edt_SloNo.text),userCode,1);


      SqlText:='Update Sa_SaleInvoice Set '
              +' CreateDate= '''+Trim(MEdt_CreateDate.Text)+''','
              +' CreateEmployeeCode= '''+Edt_CreateEmployeeCode.Text+''','
              +' CustomerCode= '''+Trim(Edt_CustomerCode.Text)+''','
              +' CustomerBank= '''+Trim(Edt_CustomerBank.Text)+''','
              +' CustomerBankActNo= '''+Trim(Edt_CustomerBankActNo.Text)+''','
              +' CurrencyCode= '''+Trim(Edt_CurrencyCode.Text)+''','
              +' ExchangeRate= '''+Trim(Edt_ExchangeRate.Text)+''','
              +' SaleTermCode= '''+Trim(Edt_SaleTermCode.Text)+''','
              +' TotalTaxAmount= '''+Trim(Edt_TotalTaxAmount.Text)+''','
              +' Assess='''+inttostr(Cx_Assess.ItemIndex)+''','
              +' AssessorEmployeeCode='''+Trim(Edt_AssessorEmployeeCode.Text)+''','
              +' RemArk='''+Edt_RemArk.Text+''' '

              +' Where InvoiceNo='''+Trim(Edt_InvOiceNo.Text)+'''';
      AdoQry_Tmp.Close;
      AdoQry_Tmp.SQL.Text:=SqlText;
      AdoQry_Tmp.ExecSQL;
      AdoQry_Body.First;
      While Not AdoQry_Body.Eof Do
      begin
       // SaveSa_SaleOrderLineHistory(dbconnect,Trim(edt_SloNo.text),AdoQry_Body.fieldbyname('SloLineNo').asinteger,userCode,1);
//Select InvoiceNo,ShipNo,ShipLineNo,ItemCode,ShipQty,TaxPrice,TaxAmount,DiSCountRate,DiSCountAmount
//From
        SqlText:=' UpDate Sa_SaleInvoiceLine '
                +' Set '
                +' ShipNo='''+AdoQry_Body.fieldbyname('ShipNo').AsString+''','
                +' ShipLineNo='''+IntToStr(AdoQry_Body.fieldbyname('ShipLineNo').AsInteger)+''','
                +' ItemCode='''+AdoQry_Body.fieldbyname('ItemCode').AsString+''','
                +' ShipQty='''+AdoQry_Body.fieldbyname('ShipQty').AsString+''','
                +' TaxPrice='''+FloatToStr(AdoQry_Body.fieldbyname('TaxPrice').AsFloat)+''','
                +' TaxAmount='''+FloatToStr(AdoQry_Body.fieldbyname('TaxAmount').AsFloat)+''','
                +' NoTaxPrice='''+FloatToStr(AdoQry_Body.fieldbyname('noTaxPrice').AsFloat)+''','
                +' NoTaxAmount='''+FloatToStr(AdoQry_Body.fieldbyname('noTaxAmount').AsFloat)+''','
                +' DiSCountRate='''+AdoQry_Body.fieldbyname('DiSCountRate').AsString+''','
                +' DiSCountAmount='''+AdoQry_Body.fieldbyname('DiSCountAmount').AsString+''''

                +' Where InvoiceNo='''+AdoQry_Body.fieldbyname('InvoiceNo').AsString+'''' ;
        AdoQry_Tmp.Close;
        AdoQry_Tmp.SQL.Text:=SqlText;
        AdoQry_Tmp.ExecSQL;
        AdoQry_Body.Next;
      end;
    end;
    DbConnect.CommitTrans;
    Act_Save.Enabled:=False;
    DispInfo('数据保存成功!',3);
  Except
   on e:exception do
    begin
    DbConnect.RollBackTrans;
    recOrderror(self,AdoQry_tmp,e.message);
//    Edt_ShipNo.Text:='';
    DispInfo('保存数据失败,请重试!',1);
    Abort;
    end;
  end;

end;

procedure TFrm_Sal_Enter_OtherSaleInvoice.SaveHeadData;
begin
  inherited;
  If Edt_InvoiceNo.Text= '' then
  begin
    DispInfo('请输入发票号!',3);
    Edt_InvoiceNo.SetFocus;
    Abort;
  end;
  try
     Edt_ExchangeRate.Text := inttostr(strtoint(Edt_ExchangeRate.text));
  except
     DispInfo('汇率输入错误!',3);
     Edt_ExchangeRate.SetFocus;
     Abort;
  end;
  with Frm_Sal_Enter_OtherSaleInvoiceH.AdoQry_Head do
  begin
{   If CurrentFormStatus='Add' Then
      Append
    else
      edit;}
    fieldbyname('InvOiceNo').AsString:=Edt_InvOiceNo.Text;
    fieldbyname('CustomerCode').AsString:=Edt_CustomerCode.Text;
    fieldbyname('CustomerName').AsString:=Edt_CustomerName.Caption;
    fieldbyname('CreateEmployeeCode').AsString:=Edt_CreateEmployeeCode.Text;
    fieldbyname('CreateDate').Asstring:=MEdt_CreateDate.Text;
    fieldbyname('CurrencyCode').AsString:=Edt_CurrencyCode.Text;
    fieldbyname('CurrencyName').AsString:=Lab_CurrencyName.Caption;
    fieldbyname('SaleTermCode').AsString:=Edt_SaleTermCode.Text;
    fieldbyname('PayTermName').AsString:=Lab_SaleTermName.Caption;

    fieldbyname('CustomerBank').AsString:=Edt_CustomerBank.Text ;
    fieldbyname('CustomerBankActNo').AsString:=Edt_CustomerBankActNo.Text ;
    fieldbyname('ExchangeRate').AsString:=Edt_ExchangeRate.text;
    fieldbyname('Assess').Asstring:=InttoStr(Cx_Assess.ItemIndex);
    fieldbyname('EmployeeName').Asstring:=Label20.Caption;
    fieldbyname('TotalTaxAmount').Asstring:=Edt_TotalTaxAmount.Text;
    fieldbyname('RemArk').AsString:=Edt_RemArk.Text;
//    post;
  end;

end;

procedure TFrm_Sal_Enter_OtherSaleInvoice.FormCreate(Sender: TObject);
begin
  inherited;
  Frm_Sal_Enter_OtherSaleInvoice_D:=TFrm_Sal_Enter_OtherSaleInvoice_D.Create(Self);
  Frm_Entry_Detail:=Frm_Sal_Enter_OtherSaleInvoice_D;
end;

procedure TFrm_Sal_Enter_OtherSaleInvoice.Edt_CustomerCodeExit(
  Sender: TObject);
begin
  inherited;
  CustomerCodeCheck(Sender);
  Edit2.text:=Edt_CustomerName.Caption;
end;

procedure TFrm_Sal_Enter_OtherSaleInvoice.Edt_CurrencyCodeExit(
  Sender: TObject);
begin
  inherited;
  CurrencyCodeCheck(Sender);
  Edit1.Text :=Lab_CurrencyName.Caption;
end;

end.

⌨️ 快捷键说明

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