O.a. de functie getProducts werkt niet goed.
Vereist minimaal Windows XP SP3.
Snelknoppen die gemaakt zijn in versie 1.17.1+ van de Q-line werken niet in deze versie van de API service en dus ook niet in de handheld-applicaties. Gebruik versie 1.2.3+.
Probleem opgelost waardoor bereidingswijzen zonder gekoppeld artikel (dus alleen met een knoptekst) allemaal als één artikel werden doorgegeven.
Deze bug was veroorzaakt door de wijzigingen van http://mpluskassa.nl/qline/releasenotes/releases/details/1.6.7/2?releasenote=1694#releasenote-1694
Bij het inlezen van de artikelen op de snelknoppen via getArticlesInLayout wordt nu een extra waarde (buttonText) meegegeven aan de bereidingswijzen waarin de knoptekst staat. De waarde in name bevat nu altijd de bontekst/omschrijving van de artikelkaart.
Dit lost een probleem op waarbij bereidingswijzen afgedrukt worden met hun knoptekst in plaats van hun bontekst.
Aanpassing in updateProduct zodat artikeluitvoeringen eerst worden gewist en dan opnieuw aangemaakt, waardoor een databasefout wordt voorkomen.
Wanneer een tafelorder wordt afgerekend in de kassa, dan is het nu niet meer mogelijk om dezelfde order te openen, wijzigen of af te rekenen. Dit geldt alleen als de order in het betaalproces zit, dus bijv. tijdens de pintransactie. Dit geldt dus niet voor het afrekenscherm, op dat moment zijn wijzigingen nog gewoon mogelijk, die worden automatisch op de kassa gezien en doorgevoerd.
Het is nu mogelijk om via createProduct en updateProduct ook de klantvelden te wijzigen via het meegeven van de parameter customFieldList.
Nieuwe functie updateTurnoverGroups waarmee de omzetgroepen bijgewerkt kunnen worden.
Met de functies createProduct en updateProduct is het nu mogelijk om de categorie van een artikel te wijzigen via de eigenschap categoryId.
Het certificaat op https://api.mpluskassa.nl is verlengd omdat het deze maand af zou lopen. Het nieuwe certificaat is weer geldig t/m 2018.
De functie getProducts geeft nu ook per artikel een lijstje van bereidingswijzen terug.
Via de eigenschap active en de functie updateRelation kan aangegeven worden of een relatie op actief of niet-actief moet staan.
Bij het aanmaken of bijwerken van een order kun je nu ook de bezorgdatum opgeven via deliveryDate.
Als payInvoice wordt aangeroepen met een betaalwijze die nog niet in Mplus bestaat, dan wordt dat nu met een duidelijke foutmelding via de API aangegeven.
Nieuwe functie adjustPoints voor het bijwerken van spaarpunten van een relatie.
Nieuwe functie printTableReceipt om de tussenbon van een tafel af te drukken.
Compatibiliteit met het nieuwe databaseschema (1.22.0) toegevoegd.
Nieuwe functie adjustPoints voor het bijwerken van spaarpunten van een relatie.
Deze functie bleek per ongeluk nog gedeactiveerd te zijn in deze release. Update naar de nieuwste versie van de API om deze functie wel te kunnen gebruiken.
Bij het aanroepen van updateProduct worden nu ook de aangemaakte en bijgewerkte artikelnummers teruggegeven. Dit wordt gedaan via resp. de parameter newArticleNumbers en existingArticleNumbers.
Bij het aanroepen van createProduct worden nu ook de aangemaakte artikelnummers teruggegeven, in plaats van alleen het aangemaakte productnummer. Dit wordt gedaan via de parameter articleNumbers.
Bij het aanmaken of bijwerken van een relatie via resp. createRelation en updateRelation wordt de aangemaakt relatie nu altijd automatisch in de categorie "Klant" geplaatst.
Nieuwe functie payInvoice om facturen af te rekenen.
Compatibiliteit met Q-line schema 1.20.0.
Bij het opslaan van een tafelorder (via saveTableOrder) kan nu ook een tableDescription worden meegegeven die wordt gebruikt als beschrijving van de tafel en getoond wordt naast of ipv. het tafelnummer in de kassa.
Nieuwe API-functie getDatabaseVersion. Retourneert het versienummer van het databaseschema in formaat major, minor, revision.
Bij het opvragen van de actieve medewerkerlijst (getActiveEmployeeList) worden nu alleen de medewerkers geretourneerd die ook zijn geautoriseerd voor het betreffende filiaal (terminal.branchNumber).
Compatibiliteit met schema 1.19.0 toegevoegd.
ns__Article bevat nu ook supplierArticleNumber, oftwel het artikelnummer van de leverancier.
Het is nu mogelijk het deliveryAddress en invoiceAdress van een order op te geven. Erg nuttig voor als dit afwijkt van het adres van de relatie.
De salesprijzen van artikelen worden nu ook meegegeven via de eigenschap salesPriceList van het Article.
Het is nu mogelijk de deliveryMethod van een Order op te geven. Hier mogen alleen vooraf ingestelde waardes gebruikt worden die via getDeliveryMethods zijn op te vragen.
Het is nu mogelijk het orderCategoryNumber van een Order op te geven. Dat komt overeen met het ordersoort in de kassa.
Order bevat nu ook vatGroupList.
Via getOrders kunnen orders nu in bulk ingelezen worden, via syncMarker en andere filteropties kan de selectie beperkt worden.
Via getOrderCategories kan een lijst van beschikbare ordersoorten opgevraagd worden.
Relaties (klanten, leverancies, etc.) kunnen nu in bulk worden opgevraagd via getRelations, door middel van syncMarker kan vanaf een bepaalde wijziging de relaties worden opgevraagd.
lineData zoals die bijv. wordt meegeven aan de regels van een Invoice, Receipt of Order bevat nu ook de inkoopprijs, in de vorm van de waarde purchasePrice.
findRelation doorzoekt nu op basis van lowercase en gedeelten van de zoekopdracht. Zo zal een relatie met de naam "Jan de Boer" bijv. gevonden worden door te zoeken op "jan de b".
Als saveInvoice een extOrderId meekrijgt die al bestaat, dan wordt die extOrderId nu zelf ook in de foutmelding getoond.
Bij het opslaan van een bestelling via saveTableOrder of saveOrder wordt nu ook rekening gehouden met de evt. ingestelde standaard BTW-wisselkeuze "Hier opeten" of "Meenemen".
De functie saveTableOrder sluit nu ook de tafel als er geen regels meer over zijn.
getArticlesInLayout geeft nu ook samengestelde artikelen terug, via ArticleSimple.componentArticles.
Als een bereidingswijze in getArticlesInLayout geen opmerking bevat, dan wordt het veld PreparationMethodSimple.name nu gevuld met de omschrijving van het evt. bijbehorende artikel.
quantity wordt nu vergezeld van decimalPlaces om zo ook decimale getallen door te kunnen geven. decimalPlaces geeft aan met hoeveel posities de komma moet worden opgeschoven.
Stel dat het getal 1,55 moet worden doorgegeven: quantity = 155 decimalPlaces = 2
Of het getal 935,401: quantity = 935401 decimalPlaces = 3
Tenslotte, een geheel getal, 50: quantity = 50 decimalPlaces = 0
Verbeterde logging in het geval van bepaalde foutmeldingen.
Mogelijkheid om via het opstartargument --debug een logbestand van alle communicatie weg te schrijven naar de locatie logs/debug.txt. Heel geschikt voor het oplossen van problemen waarbij je graag wil weten wat er precies op SOAP/XML-niveau wordt verstuurd en ontvangen.
Bij het opstarten wordt nu de database waarmee verbonden wordt getoond in het logboek. Enkel de naam van de database en het hostadres, verder geen gebruikersnaam of wachtwoord.
Het aanmaken en bijwerken van producten via de API wordt nu via de standaard importfuncties gedaan, waardoor standaardwaardes e.d. van velden ook overgenomen en gecontroleerd worden.
Logboek uitgebreid: er wordt nu ook per request bijgehouden hoelang de database-queries geduurd hebben en hoeveel queries uitgevoerd werden.
De installatiemethode voor de API Service is gewijzigd. Bekijk punt 3 van de Handleiding voor de nieuwe methode. Het voordeel van deze methode is dat de API Service als Windows service wordt geïnstalleerd en ook automatisch zal herstarten nadat deze crasht.
Mogelijkheid om --nossl toe te voegen aan programma waardoor geforceerd zonder SSL kan worden opgestart.
Geschikt gemaakt voor databaseschema 1.23.0.
createProduct en updateProduct vullen nu ook de kleur en maat in.
Overal waar een relatie wordt opgevraagd (zoals findRelation en getRelation) worden nu alle velden goed gevuld. Wat bijv. nog miste was city en alle velden van het afleveradres.
De functies createOrder, updateOrder en saveOrder zullen nu ook een orderbon afdrukken.
De functie getArticlesInLayout geeft nu ook bereidingswijzeregels zonder artikel door.
Probleem verholpen waardoor er weleens een cent te weining wisselgeld werd gegeven.
Waarschijnlijk probleem opgelost waardoor het betalen van tafels in bijzondere gevallen mislukte, zoals bij tafels waar aparte tekstregels opstonden.
Problemen opgelost met opruimen geheugen. Dit leidde o.a. tot problemen in findOrder.
Bij het opslaan van een order (via saveTableOrder, createOrder, updateOrder, saveOrder) worden evt. kortingsbedragen nu goed omgezet van centen naar euro's. Dit lost het probleem met steeds groter wordende kortingsbedragen op.
deliveryDate wordt nu ook juist ingevuld als deze uitgevraagd wordt, door bijv. getOrder, getOrders of findOrder.
Probleem opgelost waardoor soms de foutmelding "Werkplek is niet correct ingesteld." werd teruggegeven bij het aanmaken of bijwerken van een order.
Probleem opgelost bij createRelation en updateRelation betreffende actief-waarde die als NULL werd aangegeven.
MplusQservice 1.6.1 was niet helemaal goed gelukt, waardoor o.a. getProducts niet goed werkte.
Probleem verholpen waardoor de API ongeldige XML terugstuurde als teksten in het bericht ongeldige tekens bevatten.
Bij het registeren van wisselgeld werd foutief gebruik gemaakt van de betaalwijze Contant, terwijl dit CONTANT moest zijn.
Als saveOrder of updateOrder wordt aangeroepen op een order die al (deels) geleverd of (deels) geannuleerd is komt er nu een duidelijke foutmelding terug, in plaats van een exception.
Op sommige plaatsen werd vatPercentage nog niet met 100 vermenigvuldigd voordat het via de API verzonden werd.
Overal waar ns__LineData gebruikt wordt, wordt nu ook turnoverGroup, vatCode en vatPercentage correct ingevuld.
Als een artikel met bereidingswijzen meerdere malen werd besteld werden evt. meerprijzen van de bereidingswijzen ook telkens weer één keer extra opgeteld bij het totaalbedrag van de regel.
getVatGroupList retourneert nu ook het branchNumber, omdat het BTW-percentage sinds Q-line 1.18.0 per filiaal kan verschillen.
getInvoices vult nu ook de transactionString van de geretourneerde facturen.
Wanneer er op een snelknoppen indeling een standaard hoofd- en subgroep was ingesteld en vervolgens groepen verwijderd werden kon u in de situatie komen waar er fout optrad omdat de software een standaard subgroep probeerde in te stellen voor een niet bestaande hoofdgroep. Het programma zet de standaard subgroep nu dan automatisch uit.
De functie saveTableOrder en saveOrder zal tekstregels niet meer van bestellingen afgooien.
Probleem opgelost in saveOrder en saveTableOrder waardoor een bestelling die onverdicht binnenkomt niet in de exacte volgorde van binnenkomst werd opgeslagen.
Binnenkomende teksten worden goed geconverteerd vanuit UTF-8.
De functie getButtonLayout gebruikt nu juiste UTF-8 codering zodat speciale tekens goed worden doorgegeven.
Wanneer payTableOrder wordt uitgevoerd met een gedeelte van de bestelling wordt er nu goed gecontroleerd op de inhoud van de regels, i.p.v. enkel een vergelijking van het aantal regels. Dat leverde namelijk problemen op als het gedeelte van de bestelling evenveel regels had als de gehele bestelling, maar met andere aantallen.
Afbeeldingen bij getProducts worden nu gesorteerd op volgnummer, ipv. volgorde van toevoegen. Op die manier worden wijzigingen in die volgorde goed doorgegeven.
Registratie van tap-tick (taptik) werkt nu ook bij bestellingen die via de API service zijn toegevoegd.
Bij bepaalde storingen in het programma werd het programma niet netjes afgebroken, maar bleef het in een bevroren toestand staan. Evt. achterliggende databasetransacties zouden hierdoor nog steeds kunnen doorlopen en eventuele locks op tabellen in stand houden. Het programma wordt nu wel netjes afgebroken en daardoor automatisch herstart.
Ook zal het logboek nu veel meer kunnen melden over de locatie van de storing, zodat de achterliggende oorzaak ook kan worden opgelost.
Als er een database connectie probleem is blijft hij niet meer hangen maar gaat het opnieuw proberen.
Probleem in de netwerk communicatie verholpen waardoor de service kon stoppen te reageren.
Snelknoppen die gemaakt zijn in versie 1.17.1+ van de Q-line werken nu ook weer in de API service en dus ook in handheld-applicaties.
Foutmeldingen over incorrecte databaseschemaversies worden nu niet meer in een dialoog getoond maar net zoals de rest van de uitvoer naar de console of het log gestuurd. (Het probleem met de dialoog was dat je hem niet zag als het programma als service draaide.)