如何使用REST API将带有附件的文档上载到Exact Online中

时间:2016-12-09 17:46:20

标签: sql exact-online

我想将文件作为附件上传到Exact Online中的文档。

以下SQL用于创建文档:

insert into exactonlinerest..documents
( salesinvoicenumber
, type
, subject
, account
)
select 16700001
,      10
,      'subject 3'
,      id 
from   Accounts 
where  code like '%24274514'

这将创建与Exact销售发票16700001相关的文档,并将其与帐户(客户)24274514相关联。

当我通过Exact Online的REST API执行以下insert语句时:

insert into exactonlinerest..DocumentAttachments 
( attachment
, document
, filename
)
select attachment
,      'ea2d9221-31b0-4217-a82f-f29c5d517b41'
,      filename 
from   exactonlinerest..documentattachments
where  filename like 'Loonstrook%'

我收到错误:

  

itgenoda001:Verplicht:Bijlage(https://start.exactonline.nl/api/v1/102673/documents/DocumentAttachments

如何将精确在线中包含的现有工资单作为附件上传到新文档?

PS。通过在插入文档后查询文档找到GUID ea2d9221...

1 个答案:

答案 0 :(得分:1)

REST API表attachment的{​​{1}}列始终在检索时为空。

您可以使用伪列documentattachments,如下所示:

attachmentfromurl

由于Exact使用的URL类似于以下网址,因此不能用Invantive SQL的http_get表函数或类似的普通SQL函数替换insert into exactonlinerest..DocumentAttachments ( attachment , document , filename ) select attachmentfromurl , 'ea2d9221-31b0-4217-a82f-f29c5d517b41' , filename from exactonlinerest..documentattachments where filename like 'Loonstrook%' 列,因为OAuth2令牌不会自动添加到HTTP请求中。 p>

  

https://start.exactonline.nl/docs/SysAttachment.aspx?ID=f28fd698-756f-4052-bea9-fc2130fe9ab1&Division=102673

当文档附件来自Exact本身时。

对于http://www.cnn.com等外部来源,这可行。

结果:

Result adding attachments several times

编辑:

您还可以使用以下查询从文件系统上传文件:

attachmentfromurl

请注意,每个文件似乎有22 MB的限制。