Met behulp van de Invantive Query Tool zou ik de CostUnit willen bijwerken van lijnen in de tabel exactonlinerest…transactionlines, zowel individueel als in bulk via een csv.
De bedoeling is om op basis van het EntryNumber een nieuwe CostUnit toe te kennen.
Ik heb op het forum een voorbeeld gevonden voor aanpassing van de relatiecode: Relatiecode in Exact Online in bulk wijzigen - invantive
Die update SQL query werkt naar behoren. Maar als ik hetzelfde probeer voor de tabel transactionlines, loopt mijn query, wordt er geen fout meegedeeld (dus lijkt te werken), maar als ik naar de transactie (bvb aankoopfactuur) ga kijken, zie ik geen bijgewerkte CostUnit verschijnen.
Na verder onderzoek heb ik vastgesteld dat het API eindpunt ExactOnlineREST…TransactionLines enkel maar de GET methode toelaat.
Ook heb ik het API eindpunt gevonden dat wel een PUT methode toelaat om de CostUnit toe te voegen aan een aankoopfactuurlijn, nl. ExactOnlineREST…PurchaseEntryLines
De query ziet er nu als volgt uit:
update ExactOnlineREST..PurchaseEntryLines
set CostUnit = '20210003'
, CostUnitDescription = '99 - Algemeen'
where EntryID = '6b0eab4b-8255-4998-8197-0e648ef6f7a4'
Correct! Exact heeft grotendeels een gemengd grootboek, en de meeste subadministraties zijn dus zichtbaar in TransactionLines. Ze zijn echter niet muteerbaar behoudens echte grootboekmutaties. Hiervoor zijn andere tabellen beschikbaar die wel insert/update/delete toestaan.
De schrijfbare tabellen zijn te vinden in SystemTables@DataDictionary waarbij er per eigenschap select, insert, update en delete een boolean waarde is.