Экспорт документов из Exact Online для одного подразделения дает электронную таблицу вместо отдельных файлов

#sql #exact-online #invantive-sql #invantive-control

#sql #exact-online #invantive-sql #invantive-контроль

Вопрос:

Используя следующий SQL, я получаю список документов и небольшие эскизы в Exact Online:

 select document_account_name
       || document_references_yourref
       || year(document_date) || '-' || month(document_date) || '-' || day(document_date)
       || '.pdf'
       pdffilename
,      binarydata
from   exactonlinexml..documentattachments
where  document_documenttype_number_attr = 20
and    lower(name) like '%pdf'
  

Когда я пытаюсь экспортировать документ с ExactOnlineXML..Documents помощью Invantive Control, я получаю электронную таблицу или текстовый файл с именами файлов и содержимым при выполнении:

 local export results as "c:exportdump.csv" format csv
  

Однако я хочу выгрузить фактическое содержимое файла. Есть ли способ сделать это?

Комментарии:

1. Какой SQL-запрос вы используете?

Ответ №1:

Есть несколько шагов, которые вы должны выполнить.

Во-первых, вы должны указать, где сохранять документы. Вам также может потребоваться создать папку для их хранения:

 local define dctoutpath "${system:userdesktopdirectory}invantive-control-for-exact-onlinedownloads"

local create directory "${dctoutpath}HID${dctdescription}"
  

Затем вы получаете вложения документов из Exact Online. Вы можете сделать это с помощью DocumentAttachments таблицы, доступной в веб-службе Exact Online XML. (Если вы используете объединенного поставщика, вам нужен префикс ExactOnlineXML.. здесь)

 select binarydata
,      name
from   ExactOnlineXML..DocumentAttachments 
  

В конечном итоге вы экспортируете файлы через:

 local export documents in binarydata to "${dctoutpath}HID${dctdescription}" filename column name
  

Обратите внимание, что binarydata и name должны соответствовать полям, которые вы сохранили из вашего предыдущего запроса. (Согласно вашему редактированию: вместо name того, что вам нужно pdffilename здесь)

Комментарии:

1. Спасибо! Есть ли также способ применить фильтры на стороне сервера к объединенному поставщику Exact Online SQL? Теперь, похоже, он работает только с поставщиком Exact Online XML only SQL.

2. Несколько фильтров на стороне сервера для exact online xml были включены в качестве дополнительных представлений, таких как BalancLlinesprocessed. Более похожие на фильтры поля на стороне сервера пока недоступны для объединенного поставщика. Их сложнее добавить, поскольку объединенный поставщик имеет строгую реализацию sql.