Как добавить условия оплаты к неоплаченным позициям AR в отчете Exact Online?

Я использую Invantive Control для создания отчета в формате Excel с информацией о неоплаченных счетах из Exact Online.

Я создал модель с помощью конструктора блоков, и у меня есть необходимая информация о неоплаченных счетах. Теперь я также хочу узнать условия оплаты счета, который имеет задолженность, но в таблице AROutstandingItems нет информации об условиях оплаты.

Это запрос, который у меня есть до сих пор:

select division_code
,      division_name
,      number_attr
,      outstandingitems_ar_account_code_attr
,      outstandingitems_ar_account_name
,      description
,      invoicedate
,      duedate
,      currency_code_attr
,      invoiceamtfc
,      outstandingamtfc
,      invoiceamtdc
,      outstandingamtdc 
from   aroutstandingitems 
order 
by     division_code
,      outstandingamtdc desc

Как я могу добавить условие платежа в свой отчет?


person Jeroen    schedule 13.12.2016    source источник
comment
Вы можете использовать объединения в invantive-sql. Поэтому присоедините его к таблице, в которой есть информация об условиях оплаты, и отобразите ее соответствующим образом.   -  person Ravenix    schedule 13.12.2016
comment
Вы также можете использовать соединение с ExactOnlineREST..salesinvoices. Однако, в зависимости от объема строк в счетах-фактурах и наличия оптимизации REST API IN..., это будет очень медленно или быстро. API продажи счетов-фактур еще не отличается производительностью :-)   -  person Guido Leenders    schedule 13.12.2016


Ответы (1)


Условия оплаты указаны из счета по неоплаченным позициям. Чтобы получить условия оплаты (продажи) по счету, есть несколько вариантов.

  1. Присоединяйтесь к заголовку Accounts и получить оттуда условие платежа (из поля salespaymentcondition_code_attr и salespaymentcondition_description).

    Тогда SQL будет выглядеть так:

    select ...
    ,      act.salespaymentcondition_code_attr
    from   aroutstandingitems aom
    join   exactonlinexml..accounts act
    on     aom.outstandingitems_ar_account_code_attr = act.code_attr
    
  2. Используйте функцию Excel, чтобы получить условие платежа: I_EOL_ACT_SLS_PAY_CODE.

    Формула имеет два параметра: division_code и account_code_attr. Первый является необязательным.

    Таким образом, допустимым вызовом формулы будет: =I_EOL_ACT_SLS_PAY_CODE(,"22") для кода условия платежа для счета с кодом 22 в текущей компании Exact Online. Вы можете включить это в свой SQL следующим образом:

    select ...
    ,      '=I_EOL_ACT_SLS_PAY_CODE("' + division_code + '", "' + outstandingitems_ar_account_code_attr + '")'
           pcn_code
    from   aroutstandingitems
    

    Это приведет к тому, что ваша модель при синхронизации получит формулу для получения кода условия платежа. Не забудьте установить флажок «Формула», чтобы результат SQL рассматривался как формула Excel.

  3. То же, что и выше, но с использованием выражений столбца:

    select ...
    ,      '=I_EOL_ACT_SLS_PAY_CODE("$C{E,.,.,^,.}";"$C{E,.,.,^+3,.}")'
           pcn_code
    from   aroutstandingitems
    

    Не забудьте установить флажки «Формула» и «Выражение столбца», чтобы убедиться, что результат SQL обрабатывается как формула Excel с $C выражениями столбца.

Рекомендуемым вариантом является использование выражений столбцов, поскольку они работают в самом широком диапазоне сценариев развертывания, таких как бухгалтерский учет с сотнями компаний, а формулы безопасны для обновления. Операторы SQL, возможно, потребуется адаптировать к новым выпускам модели данных Invantive Exact Online.

person Patrick Hofman    schedule 13.12.2016