MplusQService API: Opgelost dat voor updateProduct de update van prijsgroep informatie correct wordt uitgevoerd (en tevens voor salesprijzen)
Opgelost dat Api call getfinancialjournal
de btw specificatie ook doorgeeft als voor een omzetgroep het verkoopbedrag 0 is en het inkoopbedrag hoger is dan 0
API: Incidenteel een afrondingsfout in de berekening voor totaalincl bedragen van een (bon)regel bij percentage korting en volledig spaarpunten verzilveren
Opgelost dat er een duidelijkere foutmelding wordt geretourneerd als CreateRelation
wordt aangeroepen op een API die een slave db connectie heeft. (Dit wordt alleen ondersteund voor API's met een master-db connectie)
MplusQAPIService: Extra filters voor call getSalesRepeatTemplates
. Er kan nu ook op specifieke 'template-ids' en/of template types (ORDER/FACTUUR) gefilterd worden
Opgelost dat API call getRenderedPrintLayout
bij het opvragen van de afdruk van meer dan een factuur de juiste factuurinformatie voor alle facturen oplevert.
Alle releasenotes van 58.4.3 zitten hier ook in.
MplusQAPIService: nieuwe API call getOrdersByExtOrderIds
: opvragen van orders aan de hand van de externe referentie(s)
bugfix API call 'getordersbyreceiptids'
Het is nu mogelijk om via de nieuwe API call getOrdersByReceipts de ordergegevens op te vragen aan de hand van een lijst van receipt-ids (kassabon-ids)
Error logging uitgebreid voor placetableorder
MplusQAPI: Controle op aanwezigheid en inhoud van het veld 'reference' bij saveProposal en saveInvoice is vervallen
Het ns__Address
object bevat nu ook supplierInformation
. Dit is informatie voor een specifieke leverancier dat ingevuld kan staan op ontvangstadressen van inkoopopdrachten.
Nieuwe instelling toegevoegd waarmee aangegeven kan worden of het verplicht is om een deliveryAddress
in te vullen voor savePurchaseOrderV2
.
getOverview
ondersteunt nu ook de filter operators BIGGER_OR_EQUAL
en SMALLER_OR_EQUAL
.
getReceipts
retourneert nu ook evt. tableNumber
/tableSubNumber
. Ook kun je nu direct op basis van specifieke receiptIds
opvragen.
redeemVoucherIssuance
API call toegevoegd die een bepaalde voucher direct kan verzilveren, dit kan momenteel alleen voor ENTREE voucher uitgiftes.
getRedeemableVoucherIssuances
API call toegevoegd die voor een bepaalde voucher type teruggeeft hoevaak welke voucher uitgiftes te verzilveren zijn op de opgevraagde datum.
Nieuwe API call toegevoegd printPrintLayout
om een print lay-out naar een printer te sturen die aan de Q-line gekoppeld staat. De printer en print lay-out combinaties van Beheer - Instellingen - Print lay-outs toewijzen
worden hiervoor gehanteerd.
getOverview
heeft nu ondersteuning voor filiaal_brutoprijs
en filiaal_verkoopprijs
. Hiervoor moet branchNumber
in de request ook ingevuld zijn.
getPaymentMethodsV2
en getAvailablePaymentMethodsV2
retourneren nu optioneel (als je includeGiftcardType
meegeeft), ook bij welk giftcardType
ze horen.
getSalesRepeatTemplates
heeft nu ook een branchNumbers
filter gekregen, en geeft nu ook discountAmountIncl
en discountAmountExcl
terug op de regels.
De volgende API calls hebben nu een ownerFilter
en branchGroupFilter
gekregen:
getInvoices
getProposals
getOrders
getPackingSlips
getSalesRepeatTemplates
sourceSalesTurnoverLineId
en startDate
toegevoegd aan de regels die teruggegeven worden in de getSalesRepeatTemplates
call.
Er is nu een releaseTableV2
die aangeroepen kan worden zonder geregistreerde terminal
.
De functie getEmployeeAuthorizationSyncMarkers
heeft nu ook een employeeBranchGroupSyncMarker
die wijzigt als er een filiaalgroep aan de desbetreffende medewerker wordt gekoppeld of ontkoppeld. Tevens wordt nu ook direct de desbetreffende employeeSyncMarker
geretourneerd.
Je kunt nu de branchGroupSyncMarker
opvragen met getCurrentSyncMarkersV2
.
Alle releasenotes van API v59.5.2.
API calls houden nu rekening met relatie budgetten.
De API call getPrintLayouts
is nu aan te roepen met een extra fieldType
filter om enkel layouts in te lezen die een bepaald veldtype bevatten.
issueVouchers
API call toegevoegd om directe voucher uitgiftes te doen. Normaalgesproken worden vouchers (ook in de API) uitgegeven door bijvoorbeeld facturen, of andere omzet te maken. Echter hoef je voor deze call niet expliciet omzet te maken, de call doet dit onderwater zelf. Per uit te geven voucher is mee te geven welke scancode en welke groepsscancode de voucher zal moeten gebruiken.
Voucher calls toegevoegd om de scancodes van een voucher te beheren. De voucher moet als externe voucher ingesteld zijn, specifiek voor jouw koppeling.
issueVoucherExternalScanCodes
: Met deze call kunnen scancodes ingeschoten worden. Als de voucher dan uitgegeven wordt zal automatisch één van die scancodes gebruikt worden. Indien er geen scancodes meer zijn zal het uitgeven van de voucher geblokkeerd worden.getVoucherExternalScanCodes
: Met deze call zijn de al ingeschoten scancodes op te vragen voor de voucher.Daarnaast is de getVouchers
call uitgebreid met twee nieuwe filters. Er is nu op voucher type
te filteren, en op externalIdent
. Op die manier zijn de vouchers te vinden die door jouw koppeling te beheren zijn.
Api call getOrderChanges
: Er is opgelost dat als er alleen een syncmarker in de request aanwezig is, en de lijst van dus ordertypes leeg is, dat dan de wijzigingen van alle ordertypes in de response wordt doorgegeven in plaats van alleen die van verkoop-, herhaal-, en externe-orders.
De properties dialog.dialogIdAsString en dialog.options[].optionIdAsString worden nu ook geserialized in de idempotency opslag.
Contractregels ondersteuning toegevoegd.
determineContractLines
call toegevoegd die de contractregels teruggeeft op basis van de meegegeven regels.determineContractLines
kan doorgegeven aan API calls die een LineList
verwachten.getOrders
, getReceipts
, getPackingSlips
, getProposals
, getInvoices
geven nu allemaal ook de opgeslagen contractregels terug.getSalesRepeatTemplates
heeft nu een contractFrequencyFilter
om specifieke contracten op te vragen. In het resultaat staat ook een contractFrequency
.createOrder(V2)
en saveOrder
vullen automatisch de contractLines
in indien die nog niet ingevuld waren.getOrderCategories
geeft nu ook de categorie afhankelijkheden terug via orderCategoryDependencyNumbers
.
Aanmaken/bewerken van orders geeft nu het volgende bericht terug als het niet mag i.v.m. afhankelijkheden van de orderCategoryNumber
:
Invalid orderCategoryNumber supplied. Ensure that the category exists, and that the category is either dependent on the current category, or that it, AND the current category have no dependencies.
Daarnaast worden ook de wijzig autorisaties van die categorieën gecontroleerd.
Het is nu mogelijk om d.m.v. scannedVoucherIssuanceCodes
gescande vouchers door te geven aan determinePricing
, placeTableOrder
, createOrderV2
en createOrderV3
. determinePricing
geeft in zijn resultaat daarnaast ook nog een lijst terug van scannedVoucherIssuances
.
Het is nu mogelijk om voucher uitgifte ingangsdatums aan te geven door pendingVoucherIssuanceStartTs
op ns__LineData
of ns__PlaceTableOrderLineDataElem
in te vullen.
getTableOrderV3
geeft nu ook de voucher uitgifte kandidaten terug in voucherIssuanceCandidates
.
Bugfix:getProducts gedrag; customfields: multiselect velden worden doorgestuurd ook als deze voor het artikel/product nog geen waarde hebben.
Het is nu mogelijk om via DeliverOrder en DeliverOrderV2 een kassabon aan te maken, eerder kon alleen maar een factuur aan worden gemaakt.
Het is nu mogelijk dat er automatisch een factuur kan worden afgedrukt nadat een order betaald wordt via de api via de call payorder. Dit is afhankelijk van een instelling: Beheer->Instellingen->Instellingen, Api->Afdrukken 'Automatisch printen van de factuur'
Tevens is er een bug opgelost dat de instelling voor Automatisch printen van de kassabon ook gecontroleerd wordt, deze instelling was er al wel maar werkte nog niet.
unappliedVoucherIssuances
(vouchers die niet toegepast zijn i.v.m. een verzilver restrictie) toegevoegd aan response van de onderstaande calls:
CreateInvoiceFromPackingSlips
DeliverOrder
DeliverOrderV2
PayTableOrder
CreateAndPayTableOrder
PlaceTableOrder
PrepayTableOrderV2
PayOrder
PayOrderV2
CreateInvoiceFromProposal
CreateOrderFromProposal
getVoucherSettings
call toegevoegd waarmee in bulk de instellingen van verschillende vouchers opgevraagd kan worden. De requestedVoucherId
is een voucher id die opgevraagd werd, voucherId
is de voucher id + versie van de instellingen, die daar daadwerkelijk voor teruggegeven is. (Als je b.v.b. versie 0 opvraagd, krijg je de nieuwste versie terug.)
Opgelost dat het kortingspercentage wordt gecontroleerd bij het toevoegen of een wijzigen van een relatie. Het kortingspercentage van een relatie mag maximaal 100 procent zijn (en moet hoger dan 0 zijn)
getJournals
zorgt er nu voor dat de teruggegeven betalingen voor JOURNAL-FILTER-ORDER
opgeteld nu altijd op 0 uitkomt, door tegen te boeken op de "Verrekening aanbetaling" betaalwijze. Zodra er daadwerkelijk omzet is gemaakt, zullen deze betalingen namelijk opgehaald kunnen worden met JOURNAL-FILTER-RECEIPT
/JOURNAL-FILTER-INVOICE
.
Via een instelling is het oude gedrag van de getPackingSlips
functie (van vóór v48) weer te activeren. Daardoor retourneert deze functie alle uitgifte-types, en niet enkel pakbonnen.
setRelationPresence zal nu ook relatie synchronisatie starten op de slave als de relatie gewijzigd is op de master
Optimalisatie van getOverview
doorgevoerd, waardoor filters op categorie veel sneller zijn geworden.
Verbeterde controles in saveArticleAlterationsGroup
voor alteration groups van het type MENU. Elke alteration moet een artikel hebben en de artikelen moeten uniek zijn binnen de groep.
getWebhookConsumers
kan nu aangeroepen worden met een syncMarker
en retourneert nu ook:
De functie determinePricing
retourneert nu ook de opgestuurde webhookData
.
getNutritionalCharacteristicsRequest
ondersteund nu combinatie van syncMarker en numbers filter.
Voorheen retourneerde zo'n request de data voor alle gevraagde nummers, nu is deze data ook werkelijk gefilterd op syncMarker en het antwoordt bevat ook de syncMarkers.
getVoucherIssuances
heeft nu een fromDate
en throughDate
in het request object.
Verhelpt dat de API een soapfault geeft als je getOverview
een INCOLLECTION
filter geeft met een lege lijst.
Database error on the server. Please contact API support at dev@mpluskassa.nl.
ERROR: syntax error at or near ")"
LINE 1: ...rds FROM public.relatie a WHERE TRUE AND a.nr IN() AND (a.... ^
Opgelost dat getPaymentMethods
en getPaymentMethodsV2
een SQL error konden geven indien de cadeaukaarten ook opgevraagd werden.
Herstelt dat oa getTableOrderV3
verkeerde aantallen voor bereidingwijze kon retourneren als uncondensedLines
false is. Hier had oa de Android handheld last van.
Opgelost dat saveSalesRepeatTemplate
een access violation SOAP exception kon geven.
Verholpen dat in de WSDL en documentatie miste dat sommige response types een basis type hadden.
Dit verhelpt dat calls die deze types retourneerden niet goed werkten als je de service importeerde in visual studio.
Probleem opgelost met savePurchaseDelivery.
Opgelost dat getPurchaseDeliveries(V2)
een verkeerd totalExclAmount
kon laten zien op de regel wanneer er met verpakkingen gewerkt werd.
Daarnaast ook opgelost dat quantityOfPackagesDelivered
niet ingevuld was terwijl dat wel moest gebeuren.
Opgelost dat getOverview
een SQL foutmelding kon geven.
ERROR: syntax error at or near AND
column reference nr is ambiguous
saveSalesRepeatTemplate
gedrag aangepast, als er een regelid meegegeven wordt zal die regel aangepast worden. Als er een bepaalde regel niet meer meegegeven wordt, zal die verwijderd worden. Als je een nieuwe regel meegeeft zonder id zal die toegevoegd worden.
cancelOrderV2
kan nu ook een geannuleerde order weer niet geannuleerd maken. Dit werkt alleen voor niet-filiaalorders.
Opgelost dat getPurchaseDeliveries
de volgende foutmelding gaf:
ERROR: missing FROM-clause entry for table "artikel"
Opgelost dat het mogelijk was dat updateOrderV2
soms een kortingspercentage niet toepast omdat er ook een automatische korting toegepast kon worden.
Opgelost dat determinePricing
het meegegeven kortingspercentage niet toepast als er onderwater automatisch een prijsgroep toegepast wordt.
Databasefout in de API opgelost bij het uitvoeren van getNutritionalCharacteristics
voor een relatie.
Databasefout in de API opgelost bij het uitvoeren van getNutritionalCharacteristics
voor een relatie.
Een BoostAssertionException opgelost die kon optreden als je een inkoopopdracht of inkooplevering bewerkte zónder een aritkeluitvoering te specificeren.
getArticlesVariants
is nu aanzienlijk sneller
Probleem opgelost waardoor het niet meer mogelijk was verkooporders af te drukken.
Diverse verbeteringen aan opslaan van inkoopopdrachten en levering
De API call getRenderedPrintLayout
kon crashen als je geen printInfo
meegaf.
De API call createInvoiceFromPackingSlipsRequest
keurde een lege forcedActivityId
altijd af, ook al is die parameter optioneel.
Opgelost dat getSubTableList
ook tafeldata van andere filialen terug kon geven.
Het oude menu systeem houdt nu ook rekening met SUP artikelen op het hoofdartikel van menu's. Het nieuwe menu systeem hield hier al rekening mee. Lost vreemde situatie op in de api. Neem bijvoorbeeld de volgende situatie:
saveTableOrderV2
met een menuartikel. Oude menu systeem voegt automatisch hoofdartikel toe. Hoofdartikel hoort normaal gesproken ook een SUP toeslag subartikel te krijgen. Dit wordt nu niet gedaan.getTableOrderV2
om de order zoals die op de tafel staat op te vragen.payTableOrderV2
om deze order af te rekenen. De api geeft terug dat de VerkoopPrijsIncl
niet overeen komt, omdat payTableOrderV2
door heeft dat het SUP toeslag subartikel mist, en dit automatisch toevoegt aan de regels die zijn meegegeven. Echter komt dat dus niet meer overeen met wat er op de tafel staat.Als je dialog.id
of dialog.options[].id
"asString" doorgeeft, dan wordt dat nu ook goed doorgespeeld in de uiteindelijke webhook payload.
De moveTableOrder
API calls houden nu ook rekening mee met of er op de virtuele relatie aanwezigheidstafel range geboekt mag worden of niet, afhankelijk van hoe die instellingen staan.
Opgelost dat getOrders
deze error teruggaf: Unknown consumption location
indien je gebruik maakte van consumptie locaties per regel.
Opgelost dat setRelationPresence
aangaf dat de tafel bezet was, indien er aangemeld probeerd te worden op een tafel die nog nooit eerder gebruikt was.
Opgelost dat setRelationPresence
soms ten onrechte aangaf dat de tafel al bezet was als er een specifieke subtafel werd gebruikt om op aan te melden.
getNutritionalCharacteristics geeft nu ook de allergieën terug van de ingrediënten van een artikel
Opgelost dat de minimum prijs berekening van een artikel de minimum prijs van een verplichte bereidingswijze op het hoofdartikel meenam op de prijs van een vervangend artikel, indien het vervangend artikel goedkoper is. Dit is niet logisch omdat de bereidingswijze keuze voor het hoofdartikel is, niet voor het vervangend artikel. Deze berekening kan d.m.v. min_price_incl
opgevraagd worden met de getOverview
call.
Opgelost dat getArticleVariants
een SOAP exceptie gaf als de call artikelen probeerde terug te geven welke geen uitvoeringen bevatten.
Als de API een betaling probeert uit te voeren op een betaalwijze die wel aanwezig is, maar uitgeschakeld, dan veroorzaakt dat nu geen fout meer.
Het uitschakelen van een betaalwijze moet invloed hebben op de keuze welke betaalwijzes je kan selecteren, maar als er eenmaal een betaling op uitgevoerd is mogen we die niet meer weigeren.
Dit lost bijvoorbeeld de volgende foutmelding op: One or more payment methods are NOT enabled WEBSHOP.
Oplossing gevonden voor het probleem dat meldingen als "No order.orderId specified" en "Error while trying to save packing slip of order." kon veroorzaken bij het betalen van een tafel via de online handheld.
Oplossing gevonden voor het probleem dat meldingen als "No order.orderId specified" en "Error while trying to save packing slip of order." kon veroorzaken bij het betalen van een tafel via de online handheld.
Verhelpt probleem dat bij gebruik van placeTableOrder
om af te rekenen met automatisch afdrukken van de bon aan de TSE gegevens missen op de bon.
Lost probleem op waardoor API meer CPU belasting kon geven dan zou moeten.
Lost probleem op waardoor API meer CPU belasting kon geven dan zou moeten.
Opgelost dat updateProduct
altijd alle prijsgroepen en salesprijzen van de te updaten artikelen afhaalde.
Om toch nog specifiek een prijsgroep/salesprijs van een artikel af te halen met deze call, is dit mogelijk door alleen de priceGroupNumber
/salesPriceNumber
in te vullen.
Crash opgelost in de getOverview
call wanneer de min_price_incl
opgevraagd werd van een artikel dat d.m.v. menu/vervangend artikel/bijverkoop zichzelf weer kon verkopen.
Dit lost bijvoorbeeld de volgende scenario op:
artikel A -> artikel B (vervangend artikel) -> artikel A (bijverkoop)
getPackingSlips
, getReceipts
, getInvoices
werkt weer.
getPackingSlips
, getReceipts
, getInvoices
werkt weer.
Verhelp "Database error on the server" foutmelding bij getPurchaseDeliveriesV2
Fout zat er in sinds v58.3.0.
deliverOrderV2
levert nu weer de opgegeven aantallen ipv een volledige levering te doen.
De createOrder
functies trekken niet meer de component prijs af van de opgegeven prijs.
Tevens probleem opgelost dat de functie faalde met een assertion failure nadat de order correct opgeslagen was.