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

📄 printinvoiceunit.pas

📁 用友系统二次开发 存货管理 客户管理 订货审核 退货审核 铺货计划 调货计划
💻 PAS
📖 第 1 页 / 共 2 页
字号:
procedure TfrmPrintInvoice.PreviewTranExecute(Sender: TObject);
var
    sqltext : string;
begin
//    showmessage('权限判定');

    if Not dm.tbPower.FieldValues['M401_3'] then begin
      showmessage('无权执行,请咨询系统管理员!');
      exit;
    end;

//    showmessage('汇总金额');
    sqltext:= 'Select SUM(iNatSum) from DispatchLists AS a INNER JOIN DispatchList AS b ON a.DLID = b.DLID where cDLCode = '''+dlid.Text+'''';
    Printpage.QRLabel12.Caption:= getlist(sqltext).Strings[0];

//    showmessage('权限是否附加表头');
    if bReportTitel.Checked then Additive Else Printpage.RichText_List01.Lines.Clear ;

//    showmessage('表单隐藏');
    Printpage.Hide ;

//    showmessage('单据预览开始');
    Printpage.SaleList.Preview ;
//    showmessage('单据预览成功');
end;

procedure TfrmPrintInvoice.bPrintTitelExecute(Sender: TObject);
begin
    if Not dm.tbPower.FieldValues['M401_2'] then begin
      showmessage('无权执行,请咨询系统管理员!');
      exit;
    end;

    if bReportTitel.Checked then begin
        if MessageDlg('是否将未通知的调货明细及调价明细打印在此单据上 ?',mtInformation,[mbOK,mbCancel],0) = mrOk then begin
            with dm.sql do begin
                 commandtext := 'execute _PM_P_CustInvState_Query 1,7,''' +  cxDBlabel1.Caption + ''',''' +  dlid.Text + '''';
                 execute ;
                 commandtext := 'execute _PM_P_CustInvState_Query 1,8,''' +  cxDBlabel1.Caption + ''',''' +  dlid.Text + '''';
                 execute ;
            end;
        QueryInvoices(dlid.Text);
        end;
    end;
end;


procedure TfrmPrintInvoice.AddItive ;
begin
    with Printpage.RichText_List01.Lines do begin
          clear ;
          Add('  项目           金额');
          Add('-----------------------------------------------');
          Add('本单金额:    ' + Printpage.QRLabel12.Caption);
          if ((Edit_01.Text <> '') AND (ComboBox_01.Text <> '')) Then Add(ComboBox_01.Text +':    '+ Edit_01.Text);
          IF ((Edit_02.Text <> '') AND (ComboBox_02.Text <> '')) Then Add(ComboBox_02.Text +':    '+ Edit_02.Text);
          IF ((Edit_03.Text <> '') AND (ComboBox_03.Text <> '')) Then Add(ComboBox_03.Text +':    '+ Edit_03.Text);
          IF ((Edit_04.Text <> '') AND (ComboBox_04.Text <> '')) Then Add(ComboBox_04.Text +':    '+ Edit_04.Text);
          IF ((Edit_05.Text <> '') AND (ComboBox_05.Text <> '')) Then Add(ComboBox_05.Text +':    '+ Edit_05.Text);
          IF ((Edit_06.Text <> '') AND (ComboBox_06.Text <> '')) Then Add(ComboBox_06.Text +':    '+ Edit_06.Text);
          IF ((Edit_07.Text <> '') AND (ComboBox_07.Text <> '')) Then Add(ComboBox_07.Text +':    '+ Edit_07.Text);
          IF ((Edit_08.Text <> '') AND (ComboBox_08.Text <> '')) Then Add(ComboBox_08.Text +':    '+ Edit_08.Text);
          IF ((Edit_09.Text <> '') AND (ComboBox_09.Text <> '')) Then Add(ComboBox_09.Text +':    '+ Edit_09.Text);
          IF ((Edit_10.Text <> '') AND (ComboBox_10.Text <> '')) Then Add(ComboBox_10.Text +':    '+ Edit_10.Text);
          IF ((Edit_11.Text <> '') AND (ComboBox_11.Text <> '')) Then Add(ComboBox_11.Text +':    '+ Edit_11.Text);
          Add('');
          Add('本次付款:    ');
          Add('                  --------------------------------');
          Add('本次退货:    ');
          Add('                  --------------------------------');
          Add('客户签收:    ');
          Add('                  --------------------------------');
          Add('签收时间:    ');
          Add('                  --------------------------------');
          if List_AddProdPrice.Items.Count >0 then begin
              Add('');
              AddStrings(List_AddProdPrice.Items);
          end;

          if cxMemo1.Lines.Count >0 then begin
              Add('');
              Printpage.RichText_List01.Lines.AddStrings(cxMemo1.Lines);
          end;
          Printpage.RichText_List01.Height := Count * 21 + 3;
    end;
end;

procedure TfrmPrintInvoice.PrintTranExecute(Sender: TObject);
var
    sqltext : string;
begin
    if Not dm.tbPower.FieldValues['M401_3'] then begin
      showmessage('无权执行,请咨询系统管理员!');
      exit;
    end;

    sqltext:= 'Select SUM(iNatSum) from DispatchLists AS a INNER JOIN DispatchList AS b ON a.DLID = b.DLID where cDLCode = '''+dlid.Text+'''';
    Printpage.QRLabel12.Caption:= getlist(sqltext).Strings[0];
    if bReportTitel.Checked then begin
        Additive;
        end Else Printpage.RichText_List01.Lines.Clear ;
    Printpage.Hide ;
    Printpage.SaleList.Print ;
end;

procedure TfrmPrintInvoice.ChangMemoExecute(Sender: TObject);
begin
    cxMemo1.Properties.ReadOnly:= False;
end;

procedure TfrmPrintInvoice.SaveMemoExecute(Sender: TObject);
var
  sqltext :string;
begin
    cxMemo1.Properties.ReadOnly := True ;
    if cxMemo1.Lines.Text <> getlist('SELECT TOP 1 PrintSaleOrderMemo FROM _PM_T_INIFile ').Text then begin
            try
                with dm.sql do begin
                    commandtext := 'update _PM_T_INIFile set PrintSaleOrderMemo = ''' + cxMemo1.Lines.Text + '''' ;
                    execute;
                    showmessage('保存成功!');
                end;
            except
                showmessage('保存失败!');
                cxMemo1.Properties.ReadOnly := True ;
                exit;
            end;
     end;
    sqltext := 'SELECT TOP 1 PrintSaleOrderMemo FROM _PM_T_INIFile ';
    cxMemo1.Lines.AddStrings(getlist(sqltext));
end;

procedure TfrmPrintInvoice.DataSet_InvoiceAfterClose(DataSet: TDataSet);
begin
    List_ProdPrice.Items.Clear ;
    List_AddProdPrice.Items.Clear ;
end;

procedure TfrmPrintInvoice.DataSet_InvoiceAfterOpen(DataSet: TDataSet);
begin
    if dlid.text <> '' then BtnRefurbish.Enabled  := True ;
    with DataSet_Invoice do begin
        if fieldByName('审核').AsString = '' then begin
            btnView.Enabled  := False ;
            btnPrint.Enabled := False ;
            bReportTitel.Enabled := False ;
            btnTran.Enabled  := False ;
            btnRefurbish.Enabled  := False ;
        end else begin
            if fieldByName('是否结算').AsInteger <> 1 then begin
                if fieldByName('审核类别').AsInteger <>1
                  then btnTran.Enabled  := False 
                else btnTran.Enabled  := True ;
                btnRefurbish.Enabled  := True ;
                btnView.Enabled  := False ;
                btnPrint.Enabled := False ;
                bReportTitel.Enabled := False ;
            end else begin
                btnRefurbish.Enabled  := True ;
                btnView.Enabled  := True ;
                btnPrint.Enabled := True ;
                btnTran.Enabled  := False ;
                bReportTitel.Enabled := True ;
            end;
        end;
    end;
end;

procedure TfrmPrintInvoice.TransactExecute(Sender: TObject);
begin
    if Not dm.tbPower.FieldValues['M401_1'] then begin
      showmessage('无权执行,请咨询系统管理员!');
      exit;
    end;

    try
        with dm.sql do begin
            commandtext := 'execute _PM_P_Invoice_Transact ''' + dlid.Text + '''' ;
            execute;
            QueryInvoices(dlid.Text);
            showmessage('结算成功!');
        end;
    except
        showmessage('结算失败!');
        exit;
    end;

end;

procedure TfrmPrintInvoice.DataRefurbishExecute(Sender: TObject);
begin
    try
        QueryInvoices(dlid.Text);
    except
        showmessage('刷新失败!');
        exit;
    end;

end;

procedure TfrmPrintInvoice.N3Click(Sender: TObject);
begin
    List_Invoice.Items := GetList('execute _PM_P_LoadItem '''',11');
end;

procedure TfrmPrintInvoice.FormShow(Sender: TObject);
begin
    List_Invoice.Items := GetList('execute _PM_P_LoadItem '''',11');

    Printpage:=TPrintpage.Create(self);
    sqltext := 'SELECT TOP 1 PrintSaleOrderMemo FROM _PM_T_INIFile ';
    cxMemo1.Lines.AddStrings(getlist(sqltext));
end;

end.

⌨️ 快捷键说明

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