使用Salesforce生成发票

使用Salesforce生成发票,salesforce,document,invoice,Salesforce,Document,Invoice,我是Salesforce的新手,我想知道如何生成发票。 我想不同的解决方案,我不知道是否有可能,耗时,困难 服务有不同的步骤。 必须在步骤“完成”时为服务开具发票。必须在“发票”表中添加新记录,并添加到发票文档的链接(PDF或Word格式) 目前,我想使用“备注和附件字段”部分。但也许对象“文档”更好 发票创建:我可以使用标准按钮创建新记录,但我希望在文件状态更改为“已完成”时自动创建该记录 1.我已经阅读了工作流描述,但我不确定它是否可以用于自动创建表中的特定记录 2.我还想过使用一个按钮来填

我是Salesforce的新手,我想知道如何生成发票。 我想不同的解决方案,我不知道是否有可能,耗时,困难

服务有不同的步骤。 必须在步骤“完成”时为服务开具发票。必须在“发票”表中添加新记录,并添加到发票文档的链接(PDF或Word格式)

目前,我想使用“备注和附件字段”部分。但也许对象“文档”更好

发票创建:我可以使用标准按钮创建新记录,但我希望在文件状态更改为“已完成”时自动创建该记录

1.我已经阅读了工作流描述,但我不确定它是否可以用于自动创建表中的特定记录

2.我还想过使用一个按钮来填充字段并创建记录。我使用onclick javascript代码查找信息以更新字段。但我不知道如何添加记录

电子发票:如何生成PDF或Word格式的发票?并从“10号发票”记录中获取?
例如,记录“Invoice_10”将有一个附件字段,其中包含指向文档“Inv_010.pdf”的链接。用户可以从链接打开文档。

要回答您的第一个问题,您需要编写一个Apex触发器-在插入后和更新后在您的服务对象上运行它(听起来像是Opportunity),如果状态已更改为completed,则生成您的发票记录


至于生成PDF发票,您可以通过创建Visualforce页面并使用
标记中的
renderAs=“PDF”
属性来完成。将其存储在记录中会有点棘手,虽然我建议您看看如何将Visualforce PDF附加到电子邮件的示例,但您可能可以使用与Salesforce中的文档相同的blob对象(存储内容)。

要回答第一个问题,您需要编写一个Apex触发器-在您的服务对象上运行它(听起来像是商机)在插入后和更新后,如果状态已更改为“已完成”,则生成您的发票记录


至于生成PDF发票,您可以通过创建Visualforce页面并使用
标记中的
renderAs=“PDF”
属性来完成。将其存储在记录中会有点棘手,尽管我建议您查看如何将Visualforce PDF附加到电子邮件的示例,您可能会使用相同的blob对象(其中存储内容)作为Salesforce中的文档。

已经有一个应用程序:Appexchange上列出的Salesforce发票可以直接从您的销售数据自动创建发票-记录和PDF。该应用程序包括一个发票模板编辑器,使您可以完全自由地设计发票文档。此外,应用程序tion可以通过电子邮件自动交付发票,或者可以将发票分组,以便在您需要通过邮寄或传真发送发票时进行批量打印


查看:

已经有一个应用程序:Appexchange上列出的Salesforce发票可以直接从您的销售数据自动创建发票-记录和PDF。该应用程序包括一个发票模板编辑器,使您可以完全自由地设计发票文档。此外,该应用程序还可以OMATALY通过电子邮件发送发票,或者可以将发票分组,以便在需要邮寄或传真时批量打印


检查:

你也可以考虑使用标准的引用对象来实现它。它带有一个整洁的PDF生成器,很容易设置。如果你把它设置好,你可以(ab)。使用quote功能创建与opportunity相关的发票。自定义New quote按钮将允许您仅在opportunity关闭后启用此功能(使用JavaScript)关于MS Word的生成,我建议DoMcReCyTy:因为它非常便宜,你可以创建只读Word文档。

你也可以考虑使用标准的引用对象来实现它。它带有一个整洁的PDF生成器,它很容易设置。如果你把它设置正确,你可以(ab)。使用quote功能创建与opportunity相关的发票。自定义New quote按钮将允许您仅在opportunity关闭后启用此功能(使用JavaScript).关于MS Word生成,我建议使用DocMocracy:因为它非常便宜,而且您可以创建只读Word文档。

我没有找到如何创建触发器?如何创建?我找到了如何创建新记录。但是我很难检索当前服务ID
var service={!getRecordId($ObjectType.service\uu c)}
不起作用……我不想在这里骗你,但我认为如果你在这里阅读Apex和Visualforce开发者指南:你会发现他们会很快回报你阅读它们所花费的时间!:)我找不到如何创建触发器?如何才能做到这一点?我找到了如何创建新记录。但检索当前服务ID
var service={!getRecordId($ObjectType.service_uc)}有困难
不起作用……我不想在这里骗你,但我认为如果你在这里阅读Apex和Visualforce开发者指南:你会发现他们会很快回报你阅读它们所花费的时间!:)