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

📄 sal_enter_shiporder.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 5 页
字号:
        Edt_WhPositionName.Text := fieldbyname('WhPositionName').AsString;
        Edt_SaleTypeCode.Text:=fieldbyname('SaleType').AsString;
        Edt_SaleEmployeeCode.Text:=fieldbyname('SaleEmployeeCode').AsString;
        Edt_CurrencyCode.Text:=fieldbyname('CurrencyCode').AsString;
        Edt_TaxRate_Percent.Text:=fieldbyname('InvBillTaxRate').AsString;
        Edt_ShipModeCode.Text:=fieldbyname('ShipModeCode').AsString;
        Edt_ShipAddresSCode.Text:=fieldbyname('ShipAddresSCode').AsString;
        Edt_PayTermCode.Text := fieldbyname('PayTermCode').AsString;
        Cmb_BillType.ItemIndex := IIFValue(Trim(fieldbyname('BillTypeCode').AsString)='0205',0,1);
        Edt_RemArk.Text := fieldbyname('RemArk').AsString;
        Edt_TotalNoTaxAmount.Text:=fieldbyname('TotalInvBillNoTaxAmount').AsString;
        Edt_TotalTaxAmount.Text:=fieldbyname('TotalInvBillAmount').AsString;

        Lab_SaleDeptName.Caption:=fieldbyname('DeptName').AsString;
        Lab_SaleEmployeeName.Caption:=fieldbyname('EmployeeName').AsString;
        Lab_CurrencyName.Caption:=fieldbyname('CurrencyName').AsString;
        Lab_ShipModeName.Caption:=fieldbyname('ShipModeName').AsString;
        Lab_SaleTermName.Caption:=fieldbyname('SaleTermName').AsString;
        Lab_ShipAddressName.Caption:=fieldbyname('ShipAddressName').AsString;

        Edt_SaleDeptName.Text:=fieldbyname('DeptName').AsString;
        Edt_SaleEmployeeName.Text:=fieldbyname('EmployeeName').AsString;
        Edt_CurrencyName.Text:=fieldbyname('CurrencyName').AsString;
        Edt_ShipModeName.Text:=fieldbyname('ShipModeName').AsString;
        Edt_SaleTermName.Text:=fieldbyname('SaleTermName').AsString;
        Edt_ShipAddressName.Text:=fieldbyname('ShipAddressName').AsString;
        Edt_CustomerName.text:=fieldbyname('CustomerName').AsString;
        Edt_SaleTypeName.text:=fieldbyname('SaleTypeName').AsString;
        Edt_RemArk1.text:=fieldbyname('RemArk1').AsString;

        SqlText:=' Select  InvOutBill.InvBillId,InvOutBill.InvBillNo,InvOutBillLine.InvBillLineNo,InvOutBillLine.SloNo,'
            +'       InvOutBillLine.SloLineNo,BatchNo,  '
            +'       InvOutBillLine.ItemCode,ItemName, '
            +'       UomName, '
            +'       InvBillQty,TmpField, InvBillPrice,InvBillAmount,InvBillNoTaxPrice,InvBillNoTaxAmount, '
            +'       InvOutBillLIne.DiSCountRate,InvOutBillLine.DiSCountAmount,BillLineRemArk   '
            +' From InvOutBillLine '
            +'   Join InvOutBill on InvOutBillLine.InvBillId=InvOutBill.InvBillId  '
            +'   left   Join Item  '
            +'     On Item.ItemCode=InvOutBillLine.ItemCode '
            +'   left   Join Uom '
            +'     On Item.UomCode=Uom.UomCode'
            +'     where InvBillNo= '''+fieldbyname('InvBillNo').AsString+''' ' ;
       AdoQry_Body.Close;
       AdoQry_Body.SQL.Text:=SqlText;
       AdoQry_Body.Open;
      end
    end
      else
      begin
        If FormStatus='Query' then
          begin
            CurrentFormStatus:='Query';
            With AdoQry_Head do
            begin
              Edt_InvBillNo.Text :=AdoQry_Head.fieldbyname('InvBillNo').AsString;
              SqlText:=' Select InvOutBill.*,CustomerName,SaleType.SaleTypeName,'
                      +'       InvOutBill.CustomerCode+'' ''+ CustomerName as CustomerFalg,'
               //     +'   RemArk,InvOutBill.ShipAddresSCode,InvOutBill.ShipModeCode, CreateEmployeeCode,InvOutBill.PayTermCode, InvOutBill.CurrencyCode,  CreateDate,InvBillNo,SaleType, InvOutBill.DeptCode,SaleEmployeeCode, '
                      +'       Warehouse.WhName,  '
                      +'       WhPosition.WhPositionName, '
                      +'       DeptName,'
                      +'       InvOutBill.DeptCode+'' ''+DeptName As DeptFalg, '
                      +'       Employee.EmployeeName, '
                      +'       SaleEmployeeCode+'' ''+Employee.EmployeeName  As EmployeeFalg, '
                      +'       CurrencyName,'
                      +'       InvOutBill.CurrencyCode+'' ''+CurrencyName As CurrencyFalg, '
                      +'       InvOutBill.InvBillTaxRate,  '
                      +'       PayTerm.PayTermName  as SaleTermName,   '
                      +'       InvOutBill.PayTermCode+'' ''+PayTermName As SaleTermFalg,'
                      +'       tt.EmployeeName as CreateEmployeeName, '
                      +'       Sal_EmployeeCode+'' ''+tt.EmployeeName As EmployeeFalg1, '
                      +'       ShipModeName,'
                      +'       InvOutBill.ShipModeCode+'' ''+ShipModeName  As ShipModeFalg,'
                      +'       ShipAddressName, '
                      +'       InvOutBill.ShipAddresSCode+'' ''+ShipAddressName As ShipAddressFalg'
                      +' From InvOutBill left   Join Customer '
                      +'     On InvOutBill.CustomerCode=Customer.CustomerCode '
                      +'     left  Join Dept     '
                      +'     On InvOutBill.DeptCode=Dept.DeptCode    '
                      +'     left Join Warehouse on InvOutBill.WhCode=Warehouse.WhCode '
                      +'     left Join WhPosition on (InvOutBill.WhCode=WhPosition.WhCode and InvOutBill.WhPositionCode=WhPosition.WhPositionCode) '
                      +'     left Join Employee       '
                      +'     On InvOutBill.SaleEmployeeCode=Employee.EmployeeCode  '
                      +'     left Join Currency  '
                      +'     On InvOutBill.CurrencyCode=Currency.CurrencyCode '
                      +'     left Join PayTerm '
                      +'     On InvOutBill.PayTermCode=PayTerm.PayTermCode   '
                      +'     left Join Employee tt '
                      +'     On InvOutBill.Sal_EmployeeCode=tt.EmployeeCode '
                      +'     left Join ShipMode '
                      +'     On InvOutBill.ShipModeCode=ShipMode.ShipModeCode '
                      +'     left Join SaleType On InvOutBill.SaleType=SaleType.SaleTypeCode '
                      +'     left Join CustomerShipAddress   '
                      +'     On InvOutBill.ShipAddresSCode=CustomerShipAddress.ShipAddresSCode '
                      +'     where InvBillNo= '''+AdoQry_Head.fieldbyname('InvBillNo').AsString+''' ' ;
              AdoQry_Tmp.Close;
              AdoQry_Tmp.SQL.clear;
              AdoQry_Tmp.SQL.Text := SqlText;
              AdoQry_Tmp.Open;
              with AdoQry_Tmp do
              begin
                Edt_CustomerCode.Text:=fieldbyname('CustomerCode').AsString;
                Lab_CustomerName.Caption:=fieldbyname('CustomerName').AsString;
                MEdt_CreateDate.Text:=Formatdatetime('yyyy.mm.dd',fieldbyname('InvBillDate').asdatetime);
                Edt_DeptCode.Text:=fieldbyname('DeptCode').AsString;
                Edt_WhCode.Text := fieldbyname('WhCode').AsString;
                Edt_WhName.Text := fieldbyname('WhName').AsString;
                Edt_WhPositionCode.Text := fieldbyname('WhPositionCode').AsString;
                Edt_WhPositionName.Text := fieldbyname('WhPositionName').AsString;
                Edt_SaleTypeCode.Text:=fieldbyname('SaleType').AsString;
                Edt_SaleEmployeeCode.Text:=fieldbyname('SaleEmployeeCode').AsString;
                Edt_CurrencyCode.Text:=fieldbyname('CurrencyCode').AsString;
                Edt_TaxRate_Percent.Text:=fieldbyname('InvBillTaxRate').AsString;
                Edt_ShipModeCode.Text:=fieldbyname('ShipModeCode').AsString;
                Edt_ShipAddresSCode.Text:=fieldbyname('ShipAddresSCode').AsString;
                Edt_PayTermCode.Text:=fieldbyname('PayTermCode').AsString;
                Cmb_BillType.ItemIndex := IIFValue(Trim(fieldbyname('BillTypeCode').AsString)='0205',0,1);
                Edt_RemArk.Text:=fieldbyname('RemArk').AsString;
                Edt_TotalNoTaxAmount.Text:=fieldbyname('TotalInvBillNoTaxAmount').AsString;
                Edt_TotalTaxAmount.Text:=fieldbyname('TotalInvBillAmount').AsString;

  //              Edt_AssessorEmployeeCode.Text:=fieldbyname('AssessorEmployeeCode').AsString;
  //              Cx_Assess.ItemIndex :=fieldbyname('Assess').AsInteger;

                Lab_SaleDeptName.Caption:=fieldbyname('DeptName').AsString;
                Lab_SaleEmployeeName.Caption:=fieldbyname('EmployeeName').AsString;
                Lab_CurrencyName.Caption:=fieldbyname('CurrencyName').AsString;
                Lab_ShipModeName.Caption:=fieldbyname('ShipModeName').AsString;
                Lab_SaleTermName.Caption:=fieldbyname('SaleTermName').AsString;
                Lab_ShipAddressName.Caption:=fieldbyname('ShipAddressName').AsString;

                Edt_SaleDeptName.Text:=fieldbyname('DeptName').AsString;
                Edt_SaleEmployeeName.Text:=fieldbyname('EmployeeName').AsString;
                Edt_CurrencyName.Text:=fieldbyname('CurrencyName').AsString;
                Edt_ShipModeName.Text:=fieldbyname('ShipModeName').AsString;
                Edt_SaleTermName.Text:=fieldbyname('SaleTermName').AsString;
                Edt_ShipAddressName.Text:=fieldbyname('ShipAddressName').AsString;
                Edt_CustomerName.text:=fieldbyname('CustomerName').AsString;
                Edt_SaleTypeName.text:=fieldbyname('SaleTypeName').AsString;
                Edt_RemArk1.text:=fieldbyname('RemArk1').AsString;
              end;
              SqlText:=' Select  InvOutBill.InvBillId,InvOutBill.InvBillNo,InvOutBillLine.InvBillLineNo,InvOutBillLine.SloNo,'
                  +'       InvOutBillLine.SloLineNo,BatchNo,  '
                  +'       InvOutBillLine.ItemCode,ItemName, '
                  +'       UomName, '
                  +'       InvBillQty, TmpField,InvBillPrice,InvBillAmount,InvBillNoTaxPrice,InvBillNoTaxAmount, '
                  +'       InvOutBillLine.DiSCountRate,InvOutBillLIne.DiSCountAmount,BillLineRemArk   '
                  +' From InvOutBillLine '
                  +' Join InvOutBill on InvOutBillLine.InvBillId=InvOutBill.InvBillId  '
                  +'     left Join Item  '
                  +'     On Item.ItemCode=InvOutBillLine.ItemCode '
                  +'     Left Join Uom '
                  +'     On Item.UomCode=Uom.UomCode'
                  +'     where InvBillNo= '''+AdoQry_Head.fieldbyname('InvBillNo').AsString+''' ' ;
             AdoQry_Body.Close;
             AdoQry_Body.SQL.Text:=SqlText;
             AdoQry_Body.Open;
           end ;
      end;
    end;
  end;
end;

procedure TFrm_Sal_Enter_ShipOrder.FormCreate(Sender: TObject);
begin
  inherited;
  Frm_Sal_Enter_ShipOrder_D:=TFrm_Sal_Enter_ShipOrder_D.Create(Self);
  Frm_Entry_Detail:=Frm_Sal_Enter_ShipOrder_D;
end;

procedure TFrm_Sal_Enter_ShipOrder.InitControls;
begin
  inherited;
  If Status<>'Add' then
  begin
    CurrentFormStatus:='PArtEdit';
    SetFocus_Control:=Edt_CustomerCode;
  end
  Else
  begin
    CurrentFormStatus:='Add';
    act_Save.Enabled:=True;
  end;
  if CurrentFormStatus='Add' then
  if  CheckAllTypeOrderNoSet(DbConnect,3) then
    begin
      Edt_InvBillNo.Text := GetAllTypeOrderNo(DbConnect,3);
      Edt_InvBillNo.Enabled := False;
      if Edt_CustomerCode.CanFocus then
        Edt_CustomerCode.SetFocus;
    end
    else
    begin
      Edt_InvBillNo.Enabled := True;
      if Edt_InvBillNo.CanFocus then
        Edt_InvBillNo.SetFocus;
      Edt_InvBillNo.Text :='';
    end;
  Edt_CustomerCode.Enabled := False;
  Edt_CustomerName.Enabled :=False;
  Edt_TaxRate_Percent.Enabled := False;
  Edt_SaleDeptName.Enabled :=False;
  Edt_ShipAddressName.Enabled :=False;
  Edt_SaleEmployeeName.Enabled :=False;
  Edt_SaleTermName.Enabled :=False;
  Edt_CurrencyCode.Enabled := False;
  Edt_CurrencyName.Enabled :=False;
  Edt_SaleTypeName.Enabled :=False;
  act_Save.Enabled:=True;
  Edt_ShipModeName.Enabled :=False;
  Edt_TotalNoTaxAmount.Enabled :=False;
  Edt_TotalTaxAmount.Enabled :=False;
//  if ReadOnly then act_
end;

procedure TFrm_Sal_Enter_ShipOrder.Edt_SaleTypeCodeKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
  If (Key=120) Then
    CommonHint(Sender,AdoQry_Body,'SaleTypeName','销售类型描述','SaleTypeCode','销售类型代码',
            'SaleType');
end;

procedure TFrm_Sal_Enter_ShipOrder.Edt_SaleTypeCodeExit(Sender: TObject);
begin
  inherited;
  If Trim(TExtEdit(Sender).Text)='' Then
  begin
    {DispInfo('销售类型代码不能为空!',1);
    TWinControl(Sender).SetFocus;
    Abort;}
    Edt_SaleTypeName.Text :='';
  end
  else
  begin
    With AdoQry_Tmp Do
    begin
      Close;
      SQL.clear;
      SQL.Add('Select SaleTypeCode,SaleTypeName From SaleType '
              +' Where SaleTypeCode='''+TEdit(Sender).Text+'''');
      Open;
      If Eof Then
      begin
        DispInfo('销售类型代码错误,请重新输入',1);
        TWinControl(Sender).SetFocus;
        Abort;
      end
      else
      Edt_SaleTypeName.Text :=AdoQry_tmp.fieldbyname('SaleTypeName').AsString;
    end;
  end;  
end;

procedure TFrm_Sal_Enter_ShipOrder.Edt_TaxRate_PercentExit(
  Sender: TObject);
begin
  inherited;
  IF Trim(Edt_TaxRate_Percent.Text)='' Then
     Edt_TaxRate_Percent.Text:='17';
  try
    Edt_TaxRate_Percent.Text:=FloatToStr(Strtofloat(Edt_TaxRate_Percent.Text));
  except
    DispInfo('销售税率输入错误!',3);
    TWincontrol(Sender).SetFocus;
    Abort;
  end;
  If Strtofloat(Edt_TaxRate_Percent.Text)<0 Then
  begin
    DispInfo('销售税率不能小于0!',3);
    TWincontrol(Sender).SetFocus;
    Abort;
  end;  
end;

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

procedure TFrm_Sal_Enter_ShipOrder.Edt_PayTermCodeExit(Sender: TObject);
begin
  inherited;
  If Trim(Edt_PayTermCode.text)='' then
  begin
{    DispInfo('付款条款不能为空!',3);
    Edt_PayTermCode.SetFocus;
    Abort;}
  end
  else
  begin                                  
    AdoQry_Tmp.Close;
    AdoQry_Tmp.SQL.clear;
    AdoQry_Tmp.SQL.Text:=' Select * from PayTerm where PayTermCode='''+Trim(Edt_PayTermCode.text)+''' ';
    AdoQry_Tmp.Open;
    if AdoQry_Tmp.Eof then
    begin

⌨️ 快捷键说明

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