• By The National Archives UK (Making the Empire Christmas Pudding) [see page for license], via Wikimedia Commons

    Spesso chi si occupa di informatica e di sviluppo software, quando finisce di combattere con hardware e software, si dedica alla cucina. Qualcuno potrebbe insinuare che si tratta di un inconscio “piano B” del programmatore: se il progetto software non ha successo, potrà sempre tentare miglior fortuna con una carriera come aiuto cuoco. In realtà le similitudini tra l’attività di programmazione e l’arte di cucinare sono molte: in entrambi i casi occorre creare un prodotto finale (il programma che deve essere pubblicato) partendo da una serie di materie prime (il linguaggio di programmazione con le sue librerie), spesso seguendo delle ricette (gli algoritmi o i “patterns” già utilizzati in passato).
    Ci sono molte teorie sui motivi per cui spesso sviluppo software e cucina si accompagnano: sono ambedue attività creative, entrambe richiedono un certo livello di studio dell’argomento e sono attività che si prestano ad essere ottimizzate ed eseguite in parallelo (sono molti i piatti che richiedono di svolgere diverse attività contemporaneamente). Nel mio caso credo che cucinare sia una specie di “attività rifugio”, un surrogato dello sviluppo software. Nei momenti più difficili di un progetto, quando non riesco a vedere la fine e nulla funziona come dovrebbe, seguire una ricetta di cucina ed ottenere sempre (o quasi sempre) il risultato desiderato è una grande soddisfazione, e in modo indiretto mi dà speranza che anche il progetto software possa infine riuscire come il piatto che sto preparando.

    Come avrete intuito dal titolo, in questo articolo voglio condividere con voi alcune ricette in cui l’ingrediente principale è Konga, in particolare la possibilità di Konga di interagire con  programmi esterni tramite i suoi “web service”.

    In questo articolo utilizzeremo il termine “web service” per indicare genericamente la possibilità di interagire con Konga tramite il protocollo HTTP (in particolare utilizzando lo standard JSON-RPC), per una definizione più formale di che cosa si intende per web service rimandiamo alla definizione presente in wikipedia.

    Utilizzando i web service di Konga è possibile collegarsi ai database, leggere, inserire, modificare e cancellare i dati avendo la certezza che Konga applicherà tutti i controlli di congruenza e gli eventuali aggiornamenti automatici dei dati definiti dalla “logica della gestione aziendale”. L’accesso via web service quindi è la soluzione più semplice quando si desidera sviluppare delle applicazioni esterne che devono condividere le informazioni della gestione aziendale.

    È possibile abilitare i web service solo in Konga Pro, sia nella versione “stand-alone”, sia nella versione “server”. L’opzione per abilitare i web service è presente nella configurazione del server, alla voce “Servizio web”:

    Configurazione del server - servizio web

    Spuntando l’opzione “Avvia il server integrato” e lasciando selezionato il servizio di gestione delle richieste “JSON-RPC” si predispone Konga per rispondere alle richieste all’indirizzo:

    http://INDIRIZZO_IP_DEL SERVER:8080/jsonrpc

    (ovviamente l’INDIRIZZO_IP_DEL SERVER può essere sostituito dal NOME_DEL_SERVER quando quest’ultimo è stato registrato in un sistema per la risoluzione dei nomi – DNS).

    Come si può vedere in figura, la porta di default è la 8080, ma nel caso in cui la porta 8080 sia già utilizzata da altri programmi è possibile impostarne una diversa.

    Le richieste a Konga dovranno soddisfare la versione 2.0 dello standard denominato JSON-RPC, si tratta di un protocollo per eseguire delle chiamate a procedure remote (RPC) e queste richieste devono essere eseguite utilizzando il protocollo HTTP.

    Per poter utilizzare con profitto i web service di Konga occorre sapere quali sono le richieste che possono essere fatte e conoscere i nomi delle tabelle e dei campi del database di Konga. Questa è la documentazione di riferimento delle chiamate JSON-RPC:
    http://public.easybyte.it/docs/current/technical/webservice/json_rpc.html.
    In questa documentazione troverete la lista delle chiamate possibili, la descrizione della loro funzione ed i parametri di ingresso e di uscita. Come vedrete, le chiamate previste non sono molte – attualmente sono nove – comunque esse permettono di interagire con i dati di Konga in modo completo. Nel corso di questo articolo non analizzeremo tutte le chiamate, faremo invece qualche esempio pratico di utilizzo che, insieme alla documentazione di riferimento, dovrebbe essere sufficiente per permettere di utilizzare autonomamente tutte le chiamate previste.

    Oltre a conoscere le chiamate possibili abbiamo detto che è anche necessario conoscere i nomi delle tabelle e i nomi dei campi del database che utilizza Konga, anche queste informazioni sono presenti nella documentazione tecnica che pubblichiamo on-line: http://public.easybyte.it/docs/current/technical/datadict/tables.html.

    Per loro natura i web service non sono legati ad uno specifico ambiente di sviluppo: possono ovviamente essere utilizzati da un’applicazione web, ma nulla osta al loro utilizzo dall’interno di un’applicazione sviluppata per l’ambiente “desktop” o, ad esempio, da una soluzione sviluppata con FileMaker. Per gli esempi di utilizzo che seguiranno utilizzeremo un ambiente di sviluppo che tutti utilizzate quotidianamente: il web browser, tenete bene a mente però che le stesse cose che faremo utilizzando il web browser possono essere fatte anche nella maggior parte dei linguaggi di programmazione e/o framework di sviluppo.

    Il nostro “ambiente di sviluppo”
    Per fare le richieste web service a Konga utilizzeremo Firefox insieme ad una estensione denominata “RESTClient”, grazie a questa estensione di Firefox saremo in grado di preparare le richieste HTTP, inviarle al Konga server, ricevere la risposta e analizzarne il suo contenuto.

    RESTClient1

    Come potete vedere nella figura qui sopra (cliccare per vedere l’immagine nella dimensione reale), per inviare una richiesta HTTP con il RESTClient è necessario:

    1. il metodo HTTP che vogliamo utilizzare, per le richieste a Konga dovremo indicare il metodo POST

    2. l’indirizzo a cui inviare la richiesta (URL), nel nostro caso invieremo la richiesta al Konga server che è stato attivato sullo stesso PC nel quale stiamo eseguendo Firefox, quindi l’indirizzo sarà

    http://127.0.0.1:8080/jsonrpc/

    3. il contenuto della richiesta (Body), per questa prima richiesta utilizzeremo il metodo list_databases per ottenere la lista dei database che possono essere aperti dal Konga server. La richiesta deve essere preparata secondo le regole del formato JSON:

    { "jsonrpc": "2.0", "method": "list_databases", "params": [ ] }

    l’elemento “jsonrpc”: “2.0” specifica che la richiesta segue le regole della versione 2.0 di JSON-RPC, il parametro “method” contiene il nome della funzione che desideriamo eseguire (list_databases) e l’argomento “params” in questo caso è una lista vuota perché il metodo “list_databases” non prevede parametri.

    Premendo SEND la richiesta viene inviata al server e se tutto è stato configurato correttamente il server risponderà immediatamente. Per visualizzare il contenuto della risposta clicchiamo nella sezione “Response Body”:

    RESTClient2

    Come potete vedere anche la risposta è in formato JSON, l’elemento che più ci interessa nella risposta è “error” che in questo caso è stato valorizzato a null, cioè nessun errore, nel caso in cui Konga ci risponda con un errore, l’elemento “error” conterrà uno o più codici di errore (“code”) e la corrispondente descrizione dell’errore, ad esempio se avessimo specificato un metodo inesistente avremmo ottenuto questa risposta:

    RESTClient2.1

    Quando non ci sono errori il server restituisce la lista dei database disponibili, in questo caso sul server sono presenti due database: Konga4Ever e Kongademo; per ogni database vengono restituiti alcuni attributi significativi che dovrebbero essere auto-esplicativi, tra questi il più interessante per noi è l’elemento “driver” che ci sarà indispensabile per eseguire la prossima chiamata: “open_database”, che esegue l’apertura del database.

    Il metodo open_database

    open_database(driver, dbname, username, password)

    RESTClient3

    Ora che conosciamo i nomi dei database ospitati dal Konga server, possiamo decidere di aprirne uno, ad esempio Kongademo. Per poter aprire un database dobbiamo conoscere oltre al suo nome anche il nome del driver del DB (SQLite o MySQL) e le credenziali per l’accesso, cioè il nome utente e la password. Come potete vedere nella figura il metodo open_database prevede proprio questi quattro parametri: driver (SQLite), nome del database (Kongademo), nome dell’utente (admin) e password (stringa vuota – ovvero nessuna password).

    RESTClient4

    La risposta alla chiamata open_database restituisce la cosiddetta “id di sessione”, cioè un identificatore che dovrò utilizzare come primo parametro per le chiamate successive, esso mi permette di non specificare ogni volta le credenziali per la connessione e abbinerà le mie future richieste ad una specifica sessione che rimane aperta sul server per almeno 15 minuti. In questo caso la nostra id di sessione è “e763191990b557f6beaecb6b61ec8957”.

    La scadenza della sessione può essere configurata sul server (il valore di default è 15 minuti) e la scadenza verrà rinnovata ogni volta che eseguirò una chiamata al server, quindi la sessione scadrà dopo che non avrò eseguito nessuna chiamata al server per 15 minuti.

    Un esempio di lettura: select_data

    select_data(sid, tablename[, fieldnamelist, where_expr, order_by, order_desc, offset, limit])

    RESTClient5

    Uno dei metodi disponibili per la lettura dei dati di Konga è “select_data”, questo metodo è molto simile ad una query di tipo SELECT di un database SQL: oltre alla id di sessione questo metodo prevede di specificare un nome tabella e opzionalmente la lista dei nomi dei campi da restituire, una condizione di ricerca (where_expr), le modalità di ordinamento (order_by e order_desc) e di restituire solo un sottoinsieme dei risultati (offset e limit).

    Nell’esempio in figura vogliamo leggere ragione sociale e indirizzo di un cliente di cui conosciamo il codice (C00100), quindi eseguiamo una select_data indicando “EB_ClientiFornitori” come nome tabella; “Codice”, “RagioneSociale” e “Indirizzo” come lista dei nomi dei campi e “Codice = ‘C00100′” come condizione di ricerca. Come si può intuire, la sintassi delle condizioni di ricerca è la stessa delle condizioni di ricerca di SQL.

    Eseguendo la richiesta, questo è il risultato che viene restituito:

    RESTClient6

    Il risultato consiste di una lista di righe, dove la prima riga contiene i nomi dei campi richiesti, seguita da zero o più righe con i dati dei clienti-fornitori che soddisfano la condizione di ricerca. Nel caso in cui avessi cercato un codice inesistente, la chiamata sarebbe comunque andata a buon fine: sarebbe stata restituita la sola riga con i nomi dei campi e nessun dato a seguire.

    Un esempio di scrittura: insert_record

    insert_record(sid, tablename, code_azienda, num_esercizio, data)

    In maniera molto simile alla lettura è anche possibile utilizzare i web service per inserire dei nuovi dati nel database di Konga. A scopo dimostrativo potete vedere qui sotto un esempio di inserimento di un ordine da cliente. Per evitare di complicare troppo l’esempio, ho indicato solo i campi strettamente obbligatori, ottenendo così un ordine cliente sicuramente incompleto per un uso “reale”, ad esempio ho omesso i prezzi nelle righe e quindi otterrò un ordine cliente con valore totale uguale a zero, ma in compenso posso mostrarvi un esempio decisamente più leggibile.

    RESTClient7

    Come già visto nella select_data i primi due parametri sono l’id della sessione e il nome della tabella, seguiti dal codice dell’azienda (“00000001”), dal codice dell’esercizio (“00000001”) e dai dati che compongono l’ordine cliente che vogliamo inserire. Il codice dell’azienda è necessario perché Konga può gestire più aziende nello stesso database e quindi dobbiamo specificare in quale azienda vogliamo inserire l’ordine. Il codice dell’esercizio è necessario quando la tabella oggetto della chiamata contiene dei dati che sono separati in base agli esercizi contabili, nel caso degli ordini da cliente non sarebbe obbligatorio e potremmo passare “null”, ma nulla osta a specificare un codice esercizio anche quando non è necessario e, così facendo, si evita di dimenticarsene nei casi in cui serve.

    I dati dell’ordine da inserire sono composti da una serie di elementi con i nomi dei campi della testata abbinati ai rispettivi valori, quindi un elemento convenzionale denominato “@rows” che contiene la lista delle righe dell’ordine.

    Nei dati specificati per la testata dell’ordine è bene notare una particolarità, si tratta del nome dei campi che iniziano con “code_”. Questi sono campi che non troverete documentati nella lista campi di Konga, troverete invece documentati i campi corrispondenti che iniziano con “ref_” al posto di “code_”. Se un nome campo inizia con “ref_” significa che si tratta di una id di una tabella collegata (foreign key in termini SQL), sostituendo la premessa “ref_” con “code_” si richiede al Konga server di decodificare – al posto nostro – i codici delle tabelle e trasformarli nelle corrispondenti id, in tal modo chi esegue la chiamata potrebbe essere facilitato. L’utilizzo dei campi “code_” è spesso un vantaggio perché un codice rimane costante tra un database e un altro (ad esempio dopo un ripristino di un back-up), mentre la corrispondente id potrebbe variare con il database. La scelta di specificare il codice o la id di una tabella collegata dipende spesso dal contesto dell’operazione che si sta eseguendo, in ogni caso Konga semplifica le cose accettando entrambi i valori.

    Vorrei anche farvi notare questi due campi obbligatori: “EB_OrdiniClienti.code_Valuta” e “EB_OrdiniClienti.code_Azienda”. Il codice della valuta è sempre obbligatorio, nel dubbio specificate il valore “EUR” che normalmente corrisponde alla valuta di conto. Il campo “code_Azienda” non lo avevamo già indicato tra i paramentri della chiamata? Sì, ma Konga desidera che venga ribadito anche nei dati che vengono passati… ogni tanto è necessario accontentare i programmi senza porsi troppe domande.

    Nelle due righe dell’ordine vengono specificati, a scopo esemplificativo, solo i campi obbligatori: Codice articolo, unità di misura e quantità.

    Eseguendo la chiamata, otterremo una risposta simile a questa:

    RESTClient8

    L’elemento “id” sarà l’id dell’ordine nel database, mentre “code” sarà il numero interno che è stato assegnato dal Konga server all’ordine appena inserito: l’ordine da cliente numero 11.

    Questo era l’ultimo esempio per questo articolo, gli argomenti tecnici come questo non sono semplici né da leggere, né da descrivere, ed è probabile che leggendo questo articolo nascano dei dubbi e delle domande su argomenti che non ho affrontato… come al solito siamo a disposizione per tutti i chiarimenti: scrivete nei commenti del blog oppure inviate un messaggio email a <supportosw@converge.it>.

  • konga_106__01

    È disponibile da questo pomeriggio una nuova versione di Konga: 1.0.6. Questa versione verrà proposta come aggiornamento automatico per gli utenti delle versioni precedenti, oppure può essere scaricata utilizzando i link che trovate nella pagina di download.

    L’aggiornamento automatico all’ultima versione non è previsto per le versioni server (daemon o servizio), questo significa che gli utenti del modulo “S” dovranno scaricare il programma di installazione e installare manualmente la versione aggiornata sulla postazione server.

    La scissione del pagamento dell’IVA

    La funzionalità più importante che è stata aggiunta nella versione 1.0.6 è la gestione della “scissione del pagamento dell’IVA” per il modulo di contabilità e vendite. La scissione del pagamento dell’IVA è una nuova tipologia di gestione IVA che è stata introdotta dalla legge di stabilità per l’anno 2015 (legge 190/2014) e che si applica nelle operazioni effettuate nei confronti di enti pubblici. Per le fatture emesse verso lo stato si prevede che il pagamento dell’IVA venga effettuato dall’ente destinatario delle merci e/o dei servizi e non più da chi emette la fattura. Questa nuova gestione ha diverse conseguenze sia nel calcolo della liquidazione IVA, sia nell’importo che il cliente deve corrispondere al fornitore.

    Nella versione 1.0.6 di Konga nella tabella causali contabili è stata aggiunta la nuova tipologia di gestione IVA denominata “Scissione dei pagamenti”; inoltre è stato aggiunto un nuovo campo nella tabella dei codici fissi: il sottoconto “IVA scissione dei pagamenti”, questo sottoconto verrà utilizzato al posto del sottoconto IVA vendite quando la causale ha la gestione IVA uguale a “Scissione dei pagamenti”.

    Tutte le registrazioni IVA che vengono inserite utilizzando una causale contabile IVA di tipo “scissione dei pagamenti” verranno registrate sul giornale contabile in questo modo:

    Sottoconto Dare Avere Descrizione
    Cliente Importo imponibile totale
    C/part. ricavo 1 Importo imponibile 1
    C/part. ricavo 2 Importo imponibile 2
    C/part. ricavo N Importo imponibile N
    IVA scissione pag. Importo IVA totale
    IVA scissione pag. Importo IVA totale Storno c/scissione dei pagamenti

     

    Come si può vedere nella tabella soprastante, l’importo dell’IVA non viene addebitato al cliente e viene stornato direttamente sul sottoconto “IVA scissione dei pagamenti”, in tal modo anche lo scadenzario verrà aperto per il solo importo imponibile della registrazione, cioè l’importo che il cliente dovrà corrispondere al fornitore al momento del pagamento.

    Nel prospetto del calcolo della liquidazione periodica IVA verrà calcolata una nuova voce: “Importo IVA soggetto alla scissione dei pagamenti”, questo importo verrà detratto dall’IVA vendite e corrispettivi per ottenere l’importo dell’IVA esigibile per il periodo. Anche la stampa dei registri IVA ora prevede nell’ultima pagina di riepilogo di evidenziare in una riga separata i totali IVA soggetti alla scissione dei pagamenti.

    Gli utenti che devono emettere fatture con la scissione del pagamento dell’IVA dovranno quindi aggiungere delle nuove causali contabili (fattura cliente e nota di credito cliente) che abbiano la gestione IVA impostata a “Scissione dei pagamenti”. Sarà opportuno inoltre aggiungere un nuovo sottoconto da indicare nei codici fissi per la registrazione dell’IVA soggetta alla scissione dei pagamenti; in alternativa è anche possibile riutilizzare il sottoconto dell’IVA vendite (senza inserirne uno nuovo), ma sarà comunque obbligatorio compilare il nuovo campo della tabella dei codici fissi.

    Questo è l’elenco delle correzioni/novità più importanti di questa versione:

    • È stata aggiunta la gestione IVA di tipo “scissione dei pagamenti” nelle causali contabili
    • Le stampe: registri IVA, calcolo liquidazione periodica IVA e liquidazione periodica IVA sono state aggiornate per gestire la scissione del pagamento dell’IVA
    • La fattura elettronica per la pubblica amministrazione genera il file nel formato vers. 1.1
    • Durante la modifica delle registrazioni di carico-scarico ora vengono eseguiti tutti i controlli di congruenza dei dati (nelle versioni precedenti alcuni controlli che venivano correttamente eseguiti al momento dell’inserimento, non venivano invece eseguiti in fase di modifica della registrazione
    • Le stampe liste di magazzino “alla data dell’ultima registrazione” ora considerano tutti i tipi di titoli di deposito di merce propria
    • Corretta una regressione che, all’apertura di un documento, erroneamente faceva ricalcolare gli sconti sulla base dell’eventuale classe di sconto abbinata
    • Corretta la gestione degli indirizzi multipli sugli ordini cliente e sui documenti fiscali
    • Corretto un problema che poteva presentarsi durante la ristampa di documenti fiscali non ancora confermati in definitivo: in alcuni casi particolari il numero progressivo in stampa non era identico a quello assegnato dopo una eventuale conferma
    • Il back-up del database prima dell’aggiornamento del formato dei dati è diventato facoltativo: il programma ora visualizza una finestra di dialogo che permette di annullare il back-up (a rischio e pericolo dell’utente)
    • La stampa della situazione giacenze “alla data…” è stata corretta in modo da riportare nell’ultima pagina la lista corretta dei titoli di deposito
    • Modificate le maschere delle preferenze del programma, del database e dell’azienda in modo da avere un aspetto più gradevole
    • Bilancio di chiusura-apertura, è stata corretta la numerazione delle righe assegnata dalla generazione dei movimenti di chiusura-apertura
    • Corretto un errore nella gestione delle classi di sconto: in alcuni casi particolari potevano venire proposti dei prezzi di una classe di sconto anche per i clienti privi di classe di sconto
    • Correzioni varie

    Le segnalazioni ed i commenti sono benvenuti: potete utilizzare i commenti di questo blog, oppure scrivere all’indirizzo email <supportosw@converge.it>.

     

  • A partire dalla data odierna (2 febbraio 2015) la pubblica amministrazione richiede il nuovo formato XML per la fatturazione elettronica (versione 1.1):

    http://www.fatturapa.gov.it/export/fatturazione/it/normativa/f-2.htm

    La prossima versione di Konga (1.0.6) prevede la generazione del formato versione 1.1 come opzione di default. La versione 1.0.6 sarà rilasciata pubblicamente tra pochi giorni, nel frattempo se qualche utente avesse urgenza di generare fatture elettroniche nel nuovo formato, suggeriamo di eseguire l’aggiornamento alla versione “stable” (1.0.6-beta) che già supporta la versione 1.1.

    Con la versione 1.0.6 è prevista anche la possibilità di generare i file XML nel vecchio formato 1.0: l’opzione si trova nelle preferenze del programma.

    Preferenze Konga

    Che Cosa cambia nella versione 1.1 della fattura PA

    Nella nuova versione del formato XML per la fattura PA cambiano fondamentalmente cinque cose:

    • La versione del file XML
    • La lunghezza massima del campo “Descrizione” dell’elemento “DettaglioLinee”: passa da 100 a 1000 caratteri
    • È stata aggiunta una nuova “Natura IVA” per giustificare le fatture con gli importi IVA uguali a zero: “N6” per le fatture emesse con l’IVA in “reverse charge”. Per indicare al programma che l’aliquota IVA utilizzata deve riportare “N6” come natura IVA, sarà sufficiente impostare nella scheda dell’aliquota IVA il campo “Inversione contabile” al valore “SI”.
    • La tipologia di pagamento “MP08” che nella versione 1.0 corrispondeva a “Carta di credito”, ora nella versione 1.1 corrisponde a “Carta di pagamento”
    • Sono state aggiunte le seguenti tipologie di pagamento:
      • ‘MP18’ : Bollettino di c/c postale
      • ‘MP19’ : SEPA Direct Debit
      • ‘MP20’ : SEPA Direct Debit CORE
      • ‘MP21’ : SEPA Direct Debit B2B

    La lista dei tipi di pagamento previsti in Konga è stata aggiornata di conseguenza, aggiungendo le quattro nuove tipologie previste dal nuovo formato.

    Aggiornamento del 3 febbraio 2015

    È comparso un annuncio sul sito della fattura PA che comunica una nuova modifica al formato, necessaria per poter indicare quando una fattura viene emessa con l’IVA versata dal committente in base all’art. 17-ter DPR 633/72 (la scissione dei pagamenti o il cosiddetto “split-payment”). Con queste modifiche sarà possibile indicare nel file XML anche questa tipologia di esigibilità IVA. Purtroppo questa modifica è avvenuta quando il nuovo formato versione 1.1 era già stato dichiarato definitivo e di conseguenza non è presente nei programmi che sono stati rilasciati nei giorni scorsi. Appena sarà disponibile una versione di Konga che prevede questa novità, lo annunceremo in questo stesso articolo.

    N.B. Con questa modifica Sogei e l’Agenzia delle Entrate hanno reso completamente privo di senso il numero di versione del formato: a rigor di logica la versione del formato così modificato dovrebbe essere 1.1.1 o 1.2, ma con un “colpo di mano” le modifiche sono state aggiunte a posteriori alle specifiche del formato versione 1.1.

    Aggiornamento del 10 febbraio 2015

    La versione “stable” (1.0.6-beta) è stata aggiornata per gestire la nuova tipologia di esigibilità IVA (il caso della fattura con la “scissione dei pagamenti”) durante la generazione del file XML.

  • Oggi è stata rilasciata la versione 1.0.5.1 di Konga. Si tratta principalmente di una versione di manutenzione che si è resa necessaria per correggere alcuni piccoli errori della versione 1.0.5. Come sempre, la nuova versione viene proposta come aggiornamento automatico per gli utenti delle versioni precedenti,oppure può essere scaricata utilizzando i link che trovate nella pagina di download.

    Queste sono le correzioni/novità di questa versione:

    • Corretto il numero dei decimali della stampa del giornale (da unitari a valori totali)
    • Corretta la stampa del modulo ordine cliente per evitare potenziali errori nelle personalizzazioni utente
    • Corretto un problema nel driver MySQL per evitare possibili errori nelle stampe
    • Corretto il funzionamento del campo “Gruppo” del modulo Raggruppamento clienti/fornitori
    • Corretta la stampa situazione titoli deposito in caso di filtraggio sino alla data (trattamento dei movimenti tra depositi e ricostruzione completa dei progressivi)
    • Correzioni varie

    Tra le correzioni varie è stata risolta una regressione nelle versioni per Mac OS X: nella versione 1.0.5 non era più possibile attivare il protocollo SSL per l’invio automatico dei messaggi di posta elettronica. Inoltre nella versione 1.0.5.1 è stato risolto un problema che aveva impedito sino ad ora l’utilizzo del protocollo SSL per gli utenti della piattaforma Windows.

    Le segnalazioni ed i commenti sono benvenuti: potete utilizzare i commenti di questo blog, oppure scrivere all’indirizzo email <supportosw@converge.it>.

     

  • Oggi è stata rilasciata la versione 1.0.5 di Konga. Come sempre, la nuova versione viene proposta come aggiornamento automatico per gli utenti delle versioni precedenti, oppure può essere scaricata utilizzando i link che trovate nella pagina di download.

    Queste sono le correzioni/novità più importanti di questa versione:

    • Aggiunta una “barra di avvertimento” quando l’utente sta operando in un esercizio che non è l’ultimo in ordine cronologico
    • Aggiunta l’elaborazione “Verifica degli ordini”
    • Aggiunte abbreviazioni da tastiera valide per tutte le stampe che possono essere eseguite direttamente da una scheda (vedere il menù contestuale del pulsante stampa)
    • Corretta la gestione delle spese di incasso automatiche sui documenti fiscali e ordini clienti
    • Corrette le stampe quando Konga è connesso ad un server aggiunto manualmente dal Konga Manager
    • Corretta l’impostazione dell’importo IVA indetraibile nella registrazione della liquidazione IVA a seguito del calcolo della Liquidazione IVA periodica
    • Corretta la stampa delle rimanenze finali: quando definitiva, al momento della generazione dei carichi giacenza iniziale il server poteva – in particolari situazioni – chiudersi inaspettatamente
    • Correzioni varie

    Le segnalazioni ed i commenti sono benvenuti: potete utilizzare i commenti di questo blog, oppure scrivere all’indirizzo email <supportosw@converge.it>.

     

  • Sono disponibili le nuove versioni x.7.10d di Tibet, Irbis, Pardo e Wilma XL e EuroByz. Queste nuove versioni contengono delle modifiche nella procedura di esportazione dei dati per Konga:

    • I mesi esclusi delle condizioni di pagamento ora vengono esportati correttamente (nelle versioni precedenti vi era un errore per cui veniva esportato il mese precedente rispetto a quello inserito come escluso)
    • Viene esportato anche l’ultimo numero progressivo della fatturazione elettronica
    • Vengono esportate anche le quantità minime e massime degli articoli di magazzino

    Le versioni x.7.10d sono disponibili come aggiornamento delle versioni x.7.10 precedenti, non occorre eseguire una nuova installazione completa. I link per eseguire il download dei file si trovano di seguito.

    Per gli utenti Mac OS X sarà necessario espandere e sostituire il file dell’applicazione (ad esempio “Tibet.app”), di seguito i link per il download del singolo file:

    Pardo e Wilma XL
    http://download.easybyte.it/tmp/pwxl2710d.app.zip
    Irbis
    http://download.easybyte.it/tmp/irbis4710d.app.zip
    Irbis client
    http://download.easybyte.it/tmp/irbisclient4710d.app.zip
    Tibet
    http://download.easybyte.it/tmp/tibet1710d.app.zip
    Tibet client
    http://download.easybyte.it/tmp/tibetclient1710d.app.zip

    Per gli utenti Windows sarà necessario espandere e sostituire i file dell’applicazione (ad esempio “Tibet Client.exe” e “TibetDic.tdic”), di seguito i link per il download dei file:

    EuroByz
    http://download.easybyte.it/tmp/eurobyz1710d.zip
    Pardo e Wilma XL
    http://download.easybyte.it/tmp/pwxl2710d.zip
    Irbis
    http://download.easybyte.it/tmp/irbis4710d.zip
    Irbis client
    http://download.easybyte.it/tmp/irbisclient4710d.zip
    Tibet
    http://download.easybyte.it/tmp/tibet1710d.zip
    Tibet client
    http://download.easybyte.it/tmp/tibetclient1710d.zip

  • konga_xmas_2014

    È disponibile una nuova versione pubblica di Konga: la versione 1.0.4. Questa versione aggiunge alcune funzionalità, migliora l’esperienza d’uso per gli utenti di Mac OS X e corregge alcuni piccoli errori. Come sempre, la nuova versione viene proposta come aggiornamento automatico per gli utenti delle versioni precedenti, oppure può essere scaricata utilizzando i link che trovate nella pagina dei download.

    Queste sono le correzioni/novità di questa versione:

    • Aggiornata la versione della firma digitale delle applicazioni Mac OS X in modo da essere compatibili con GateKeeper e Mac OS X versioni 10.9.5 e successive
    • Migliorata la compatibilità generale con Mac OS X 10.10 “Yosemite”
    • Aggiunti i permessi utente per le conferme di preventivi, ordini clienti, ordini fornitori e documenti fiscali
    • Aggiunta la possibilità di importare lotti e matricole da file di testo dalla finestra “Dettaglio lotti/matricole”
    • Corretta una regressione che causava il malfunzionamento sporadico di alcune elaborazioni
    • Correzioni varie

    Le segnalazioni ed i commenti sono benvenuti: potete utilizzare i commenti di questo blog, oppure scrivere all’indirizzo email <supportosw@converge.it>.

     

  • Oggi è stata rilasciata la versione 1.0.3 di Konga. Si tratta principalmente di una versione di manutenzione che si è resa necessaria per correggere alcuni errori della versione 1.0.2. Come sempre, la nuova versione viene proposta come aggiornamento automatico per gli utenti delle versioni precedenti, oppure può essere scaricata utilizzando i link che trovate nell’articolo che ha annunciato la versione 1.0.

    Queste sono le correzioni/novità di questa versione:

    • Aggiunte le abbreviazioni da tastiera ‘Ctrl +/-‘ (Cmd +/- per Mac OS X) per aggiungere/rimuovere righe da una griglia
    • Corretta una regressione nella cancellazione delle schede
    • Corretta una regressione nella finestra di ri-connessione automatica in caso di perdita di connessione al server
    • Corretto un problema sporadico inerente alla stampa di intestazioni
    • Corretta la stampa “Lista documenti fiscali” (solo totali): in alcuni casi poteva omettere delle righe
    • Correzioni varie

    La correzione più importante è quella che riguarda la cancellazione delle schede: nella versione 1.0.2 era impossibile cancellare delle schede di archivi e tabelle mentre si stava consultando la scheda che si desiderava eliminare; la cancellazione era possibile solo mentre si era nella visione “a lista” dell’archivio/tabella in esame.

    Le segnalazioni ed i commenti sono benvenuti: potete utilizzare i commenti di questo blog, oppure scrivere all’indirizzo email <supportosw@converge.it>.

     

  • Astor Films presenta

    Oggi, molto in ritardo rispetto alla data prevista in origine, è stata rilasciata la versione 1.0.2 di Konga. Il ritardo della versione 1.0.2 è stato causato per grande parte dalla necessità di risolvere alcuni problemi che abbiamo riscontrato in presenza di un numero elevato di client (più di 30 postazioni collegate contemporaneamente) e con il Konga Server  che utilizza un database esterno MySQL. La buona notizia è che in questo modo la versione 1.0.2 è diventata ancora più stabile per tutti gli utenti, anche per chi utilizza il database integrato SQLite.

    La nuova versione viene proposta come aggiornamento automatico per gli utenti delle versioni precedenti, oppure può essere scaricata utilizzando i link che trovate nell’articolo che ha annunciato la versione 1.0.

    N.B. L’aggiornamento automatico viene proposto agli utenti che hanno installato una delle versioni pubbliche, gli utenti che avessero installato una versione “nightly” dovranno eseguire esplicitamente il download del programma di installazione (i link sopracitati).

    Nel caso in cui si esegua l’aggiornamento partendo dalla versione 1.0.1 pubblica (del 9 settembre scorso), sarà necessario richiedere una nuova chiave di attivazione. La procedura avviene on-line ed è totalmente automatica: quando Konga richiede l’attivazione, occorre scegliere “Richiedi una nuova chiave di attivazione”, inserire il proprio numero di serie e quindi – trattandosi di un prodotto già registrato – inserire il nome utente e la password che sono stati scelti al momento della prima attivazione, Konga si collegherà al server delle attivazioni e riceverà automaticamente la nuova chiave di attivazione.

    In futuro non sarà necessario eseguire una nuova attivazione ogni volta che si aggiorna il programma. Questo caso specifico è un’eccezione che si è resa necessaria per correggere un piccolo problema della precedente procedura di attivazione.

    Queste sono le correzioni/novità principali di questa versione:

    • Aggiunto il comando Giacenze alla sezione Archivi
    • Aggiunta l’opzione ‘mostra il dettaglio dei raggruppamenti’ nella stampa del bilancio di verifica
    • Aggiunto il supporto ai template per salvare e caricare i parametri extra delle stampe
    • Corretta la gestione del campo ‘raggruppamento conti’ quando la scheda contabile è di tipo sottoconto
    • Corretta la gestione dei valori iniziali di dare avere e saldo nella stampa dei partitari con una data di partenze
    • E’ stato corretto il calcolo della liquidazione IVA nel caso in cui in configurazione azienda sia presente l’opzione IVA trimestrale
    • La stampa “Scheda movimenti del cliente/fornitore” ora esegue l’ordinamento per data di registrazione/numero interno
    • Corretta l’intestazione del file corrispondente alla generazione del flusso RID
    • La Variazione dei codici ora prevede la possibilità che uno dei due valori sia vuoto
    • La stampa su file in formato Microsoft Excel ora formatta correttamente i campi
    • È stato aggiunto il pulsante “Ultimi prezzi” in ordini a fornitori, ordini da clienti e documenti fiscali
    • Corretto l’aggiornamento del movimento dei lotti per alcuni casi limite quando si modificava un documento fiscale già inserito
    • Nella visione a lista ora viene visualizzata l’icona che permette di aprire la scheda collegata per tutti i campi di tipo codice o numero interno
    • Corretta la creazione del movimento di rilevazione del risultato dell’esercizio (stampa definitiva del bilancio di chiusura apertura)
    • Corretto un errore sporadico nella generazione del file XML della fattura elettronica
    • In situazione multi-aziendale la stampa del calcolo della liquidazione IVA ora si limita sempre ai movimenti IVA dell’azienda corrente
    • Correzioni varie

    Anche la documentazione di Konga è stata aggiornata, trovate i manuali in versione HTML e PDF in questo stesso blog, nell’articolo dedicato alla documentazione.

    Come al solito le segnalazioni ed i commenti sono benvenuti: potete utilizzare il blog, oppure scrivere all’indirizzo email <supportosw@converge.it>.

  • È con vero piacere che vi annuncio la disponibilità della versione 1.0.1 di Konga. La nuova versione viene proposta come aggiornamento automatico per gli utenti delle versioni precedenti, oppure può essere scaricata utilizzando i link che trovate nell’articolo che ha annunciato la versione 1.0.

    Queste sono le correzioni/novità di questa versione:

    • Aggiunta la possibilità di impostare un template predefinito per le nuove schede
    • Aggiunto il supporto alla stampa dei seguenti tipi di barcode: CODE39, EAN, EAN13, EAN8, GS1, GTIN, ISBN, ISBN10, ISBN13, ISSN, JAN, PZN, UPC, UPCA
    • Aggiunto il tipo immagine ‘barcode’ per generate dinamicamente codici a barre dall’editor di stampe
    • Corretto il calcolo del numero di pagina nelle stampe
    • Corretta la procedura di richiamo degli articoli in kit in modo da aggiornare correttamente i totali
    • Corretti i margini delle stampe eseguite da piattaforma Windows
    • Corretta la stampa delle immagini associate agli articoli
    • Corretto l’invio dei preventivi via email
    • Corretta la stampa dei partitari di prima nota: non venivano stampati i dati della contropartita
    • Corretta la visualizzazione dei risultati di ricerca full-text
    • Correzioni varie

    Come potete leggere nella lista qui sopra e come è naturale per la versione che segue la 1.0, la maggior parte delle differenze riguarda delle correzioni. Tra queste differenze vi è anche una nuova funzione che vorrei descrivere qui nel blog, a vantaggio dei nostri utenti che preferiscono leggere il blog invece della documentazione del programma: il supporto alla stampa di codici a barre nell’editor di stampe.

    Nei campi di tipo immagine è ora possibile selezionare un nuovo tipo di immagine: “Codice a barre”

    Codice a barre

    Nell’area occupata dal campo immagine, Konga visualizzerà il codice a barre corrispondente al valore selezionato (in questo esempio si tratterà del codice a barre che rappresenta il codice dell’articolo di magazzino). Il tipo di codice a barre generato può essere deciso dall’utente nelle preferenze del programma (sezione Etichette). Per gli utenti che avessero necessità di un maggiore controllo sul contenuto del codice a barre e sulla sua tipologia, è anche possibile stampare un codice a barre indicando come tipo immagine “script dedicato” e richiamando nello script la funzione interna “gen_barcode”. Quest’ultimo tipo di funzionalità è ambito dei cosiddetti “power users” o utenti tecnici, quindi la lettura del resto di questo articolo è consigliata solo a chi si sente parte di questa categoria…

    Questo è un esempio dell’utilizzo della funzione “gen_barcode”:

    gen_barcode(code="123PROVA", system="CODE39")

    È chiaro che in un esempio reale il parametro ‘code’ farà riferimento ad un valore variabile, ad esempio supponiamo di avere l’esigenza di stampare un codice a barre per ogni riga di fattura e che questo codice a barre debba contenere il numero interno del documento seguito da un trattino e quindi seguito dal numero della riga; lo script dedicato da abbinare all’immagine dovrebbe essere simile a questo:

    gen_barcode(code=str(ROW['EB_RigheDocFiscali.ref_DocumentoFiscale.NumeroInterno]) + '-' + str(ROW['EB_RigheDocFiscali.NumeroRiga]), system="CODE39")

    Questo script, a prima vista, potrebbe sembrare illeggibile alla maggior parte dei nostri utenti, ma chi è interessato può comprenderlo facilmente: la parte più interessante è il parametro ‘code’:

    str(ROW['EB_RigheDocFiscali.ref_DocumentoFiscale.NumeroInterno']) + '-' + str(ROW['EB_RigheDocFiscali.NumeroRiga'])

    ROW[‘EB_RigheDocFiscali.ref_DocumentoFiscale.NumeroInterno’] contiene il numero interno del documento che stiamo stampando

    ROW[‘EB_RigheDocFiscali.NumeroRiga’] contiene il numero della riga

    Entrambi sono dei numeri interi e li dobbiamo trasformare in stringhe di caratteri alfanumerici prima di poterli concatenare con il trattino e passare il risultato della concatenazione come parametro ‘code’ della funzione. La conversione da numero a stringa alfanumerica viene eseguita utilizzando la funzione interna str() e la concatenazione utilizzando l’operatore “+”.

    Ricordo a tutti i lettori che sono arrivati sin qua che Python è il linguaggio di scripting di Konga e che potete trovare qui tutte le informazioni (in lingua inglese).