【问题标题】:Adding formatted text lines to invoices in Axapta 3.0 SP4在 Axapta 3.0 SP4 中向发票添加格式化文本行
【发布时间】:2010-02-19 21:34:10
【问题描述】:

我仍在计划如何进行此阶段,但在客户站点,他们正在转向通过 axapta 开发票。现在 axapta 已使用多年,他们为其生成的发票仅使用发票行。

虽然这是一个可接受的解决方案,但如果有某种方法可以扩展/编程/自定义 Axapta 以便能够导入将连接到正在发送的发票的文本行,那么它仍然是首选。

我不确定从哪里开始解决这个问题,我搜索了一些,查看了一些“axapta”网站,但我看到的大部分内容都处理较新的版本(这是版本 3 sp4,大约六岁)。

如果可以,一般来说,程序是什么?会不会涉及x++代码?

感谢您的任何意见!

【问题讨论】:

  • 你的问题可能更清楚。您是选择将文本注释导入发票行还是完整导入发票?
  • 它将每个发票行导入 Axapta。对于每个客户,我们还希望导入未定义 (0-1500+) 行的文本,预先格式化(以固定宽度字体打印)以附加到打印发票的输出中。
  • 然后按照杰的回答建议使用文档处理。

标签: axapta microsoft-dynamics invoices


【解决方案1】:

使用文档处理将注释附加到销售订单抬头或销售订单行。将注释的限制字段设置为外部。您可以在“备注”部分的“发票”选项卡上的“应收帐款/设置/表单/表单设置”下控制发票上备注的打印。

要完全自定义发票的外观,请编辑报表 SalesInvoice。

【讨论】:

  • 没有办法从文件中导入文本注释。您可以附加一个文本文件,但它不会显示在发票上。
  • 您可以导入到DocuRef表中,但会有点复杂,因为您需要知道您引用的SalesTable或SalesLine记录的RecId。
  • 您是否有任何指向此 DocuRef 表上的文档的链接以及它与发票打印的关系?
【解决方案2】:

听从 Jay 的建议,将预先格式化的文本添加到文档处理中。

将以下方法添加到 DocuRef 表中:

static void addNote(Common record, str notes)
{
    DocuRef docuRef;
    ;
    docuRef.clear();
    docuRef.TypeId       = CustFormletterDocument::find().DocuTypeInvoice;
    docuRef.Restriction  = DocuRestriction::External;
    docuRef.RefTableId   = record.TableId;
    docuRef.RefRecId     = record.RecId;
    docuRef.RefCompanyId = record.dataAreaId;
    docuRef.Notes        = notes;
    docuRef.insert();
}

在您的导入代码中插入销售表记录之后的某处:

DocuRef::addNotes(salesTable, preformattedtext);

您必须更改客户表单设置以允许在发票上打印备注。

【讨论】:

  • 感谢您的 cmets 和回答,他们在指导客户正确方向方面很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多