Voor Invantive cloud maken wij gebruik van de OData verbinding met Exact Online o.a. voor Power BI maar ook voor een debiteuren rapport.
In dit debiteurenrapport gebruiken wij momenteel de tabellen:
ExactOnlineREST.Financial.AgingReceivablesList@eol en
ExactOnlineREST.Financial.ReceivablesList@eol
Naast de informatie van deze tabellen is er de behoefte om nog meer informatie vanuit Exact te betrekken bij het rapport. De volgende informatie is nodig:
Aantal herinneringen verstuurd van desbetreffende openstaande verkoopfactuur,
datum laatste herinnering verstuurd en
de eventuele notities van de openstaande verkoopfactuur.
Vorige post werd gevraagd om een screenshot van het scherm in Exact met de notities zie bijlage.
Advies is om AROutstandingItems en APOutstandingItems te gebruiken i.p.v. de AgingReceivablesList en ReceivablesList; ze zijn vele malen sneller en flexibeler.
Het aantal herinneringen is af te leiden door de “Extended”-versie van de tabel AROutstandingItems te gebruiken. Dit kan door een user-defined view te maken zoals beschreven in Eigen database-views gebruiken voor SQL en BI-tools met de volgende SQL:
De datum laatste herinnering leiden we zelf dagelijks af, maar kan mogelijkerwijs ook bepaald worden o.b.v. de tabel DocumentsIncremental:
select salesinvoicenumber
, count(*)
, max(DocumentDate) DocumentDateMax
from documentsincremental@eol
where type = 15 /* Reminder, see DocumentTypes table. */
and salesinvoicenumber is not null
group
by salesinvoicenumber
Bij oude herinneringen lijkt de relatie met SalesInvoiceNumber er niet te zijn (of niet meer te zijn).
Notities verkoopfactuur
Elke openstaande post kan één of meerdere notities hebben. Dit lijken taaknotities te zijn. Er is geen tabel bekend waar die mee opgehaald kunnen worden en een snelle zoektocht levert geen resultaat. Advies is om na te vragen bij Exact Online Support of deze überhaupt opgevraagd kunnen worden via een API.
Dank voor de oplossing. Hiermee krijg ik inderdaad de gewenste output echter begrijp ik uit het artikel Eigen database-views gebruiken voor SQL en BI-tools dat het niet mogelijk is de bewerking op te slaan en door middel van een verbinding met Power Query dagelijks te vernieuwen, dit moet dan gebeuren in de SQL editor en de output exporteren?
Dit zouden namelijk evenveel stappen zijn als de export uit Exact te halen.
Om welke bewerking gaat het? Cq. welke zin in genoemd artikel geeft de indruk dat het niet mogelijk is; dan corrigeren we dat?
Een view kan opgeslagen worden bij bijvoorbeeld On Startup SQL van de database. Het vernieuwen kan in Power Query met de hand en - als gelijkend op Power BI - automatisch via PowerBI.com.
Er is op dit moment geen mogelijkheid om de viewdefinities blijvend vast te leggen in de database gedefinieerd via de DataDictionaryConnectionString eigenschap van een Invantive database.
Wellicht begrijp ik het verkeerd.
Daarnaast kan ik uit het artikel niet halen of ik een aparte database moet aanmaken, of dat ik de SQL editor op de bestaande database kan gebruiken. Momenteel heb ik voor de zekerheid een tweede aangemaakt en daar via de SQL-editor de output verkregen. Ik hoor graag hoe ik de output via een OData link in Power Query krijg.
Dank voor de uitleg; die zin is inderdaad verwarrend en is aangepast. De zin verwijst specifiek naar een huidige beperking dat het laden van de viewdefinities vanuit een persistent data dictionary nog niet mogelijk. Het is wel mogelijk om op Invantive Cloud de viewdefinities automatisch te laden via de On Startup SQL van een database.
Het is niet nodig om een aparte database te maken; het is handiger en minder complex om de viewdefinities toe te voegen aan de database waar het om gaat door in het veld “On Startup SQL” de viewdefinities toe te voegen zoals bijvoorbeeld dit voorbeeld voor Tix (een leisure ticketing systeem) waarbij drie views gemaakt worden:
In het scherm van een database ziet dat er als volgt uit:
Hou er rekening mee dat het langere tijd kan duren momenteel vooraleer nieuwe viewdefinities opgepikt worden. Deze tijd kan verkort worden door op Bridge Online zelf in het dropdownmenu rechtsboven te kiezen voor “Resetten Cache”.
De volgende query heb ik nu toegevoegd bij de SQL Editor en bij de Startup SQL
use all
;
select *
from me
select *
from SystemDivisions
limit 5000
create or replace view Invoice_reminders
as
select rge.value reminder_cnt
, aom.*
from RANGE(5, 0)@DataDictionary rge
join aroutstandingitemsEx(Params_Reminders => rge.value)@eol aom
select salesinvoicenumber
, count(*)
, max(DocumentDate) DocumentDateMax
from documentsincremental@eol
where type = 15 /* Reminder, see DocumentTypes table. */
and salesinvoicenumber is not null
group
by salesinvoicenumber
Momenteel zie ik, na het legen van de cache, nog geen Datadictionary.custom tabellen in Power Query. Dit is hoe ik deze tabel kan vinden, toch?
Deze vraag is automatisch gesloten na 2 weken inactiviteit. Het laatste gegeven antwoord is gemarkeerd als oplossing.
Gelieve een nieuwe vraag te stellen via een apart topic als het probleem opnieuw optreedt. Gelieve in de nieuwe vraag een link naar dit topic op te nemen door de URL er van in de tekst te plakken.