Configurazione

A partire dalla versione v0.6.0 è possibile modificare il comportamento del programma tramite il file di configurazione veryeasyfatt.config.toml all’interno della stessa cartella in cui è salvato il programma.

Un esempio di file di configurazione è il seguente, tratto dalla configurazione di default del programma:

# --------------------------------------------------------------
#                 Default configuration file
# --------------------------------------------------------------
# --------------------------------------------------------------
#                 Default configuration file
# --------------------------------------------------------------
log_level = "INFO"                       	# Per la lista completa dei livelli di logging: https://docs.python.org/3/library/logging.html#logging-levels


[easyfatt.database]
filename = ""


[easyfatt.customers]
custom_field = 1                          	# Numero del campo "Extra {N}"
export_filename = [                       	# Nome del file esportato dalla sezione clienti di EasyFatt
    "Soggetti.xlsx", 
	"Soggetti.ods"
]


[files.input]
easyfatt = "./Documenti.DefXml"           	# Percorso (relativo o assoluto) al file `*.DefXML` generato dal gestionale "Danea Easyfatt".
addition = ""                             	# Percorso (relativo o assoluto) al file `*.xml` con le righe da aggiungere come primo figlio del tag `Documents`.


[files.output]
csv = "./Documenti.csv"                   	# Percorso (relativo o assoluto) al file CSV di output.
kml = ""                                  	# Percorso (relativo o assoluto) al file KML di output.


[options.output]
# Stringa utilizzata come template per OGNI riga del CSV.
# NON MODIFICARE I NOMI DEI PLACEHOLDER che iniziano per `eval_*`!
csv_template = "@{CustomerName} {CustomerCode}@{eval_IndirizzoSpedizione} {eval_CAPSpedizione} {eval_CittaSpedizione}(20){eval_intervalloSpedizione}^{eval_pesoSpedizione}^"


[features.shipping]
default_interval = "07:00-16:00"          	# Intervallo orario di spedizione di default


[features.kml_generation]
google_api_key = ""                       	# Chiave API di Google Maps per la generazione del KML
placemark_title = "{customerName} ({customerCode}) {notes}" # Formato del nome del segnaposto nel KML
location_search_type = "strict"		   		# Tipo di ricerca da effettuare per la localizzazione del cliente:
											#   - "strict": mostra errore se non viene trovato esattamente un indirizzo
											#   - "postcode": usa il CAP per fare un controllo aggiuntivo

Essendo ancora in fase di sviluppo il nome di queste impostazioni potrebbe cambiare nel tempo!

Questa pagina verrà costantemente aggiornata con le ultime informazioni utili. Assicurarsi di consultarla in caso di problemi.

log_level

Questa voce specifica il livello di verbosità del logging. Di default è impostata a INFO, ma può essere impostato a qualsiasi dei livelli definiti nella documentazione.

Valore di default

"DEBUG"

easyfatt.database.filename

Indica il percorso (assoluto o relativo) del database di Danea Easyfatt. Se omesso non sarà possibile utilizzare la funzione di generazione KML.

easyfatt.customers

Questa sezione di configurazione regola il comportamento del programma verso l’esportazione clienti eseguita da Easyfatt.

easyfatt.customers.custom_field

Indica il numero sequenziale del campo personalizzato Libero {N} (poi esportato come Extra {N}) utilizzato per definire l’orario di consegna per il singolo cliente.

Valore di default

1

easyfatt.customers.export_filename

Indica il percorso (assoluto o relativo) del file contenente l’estrazione da Easyfatt degli utenti. Può essere una lista o un’unica stringa.

Se vengono specificati più nomi di file (come nel caso del valore di default) allora verrà utilizzato il primo disponibile (esistente e leggibile).

Valore di default

["./Soggetti.xlsx", "./Soggetti.ods"]

Se omesso verrà cercato il file ./Soggetti.xlsx o ./Soggetti.ods e verrà utilizzato il primo trovato (nell’ordine: .xlsx e poi .ods).

files.input

Contiene impostazioni relative ai file utilizzati dal programma.

files.input.easyfatt

Il file .DefXml ottenuto dall’esportazione dei documenti “Ordine cliente” da Easyfatt.

Valore di default

"./Documenti.DefXml"

files.input.addition

Il file .xml contenente il tag Document da aggiungere come primo elemento nel file csv generato. Questo servirà poi a RouteXL come punto di partenza per calcolare le consegne.

Valore di default

"" (nessuna riga da aggiungere)

Di seguito un esempio di un contenuto valido per il file:

<Document>
    <CustomerCode>00000</CustomerCode>
    <CustomerWebLogin></CustomerWebLogin>
    <CustomerName>{Nome Azienda}</CustomerName>
    <CustomerAddress>{Indirizzo}</CustomerAddress>
    <CustomerPostcode>{CAP}</CustomerPostcode>
    <CustomerCity>{Città}</CustomerCity>
    <CustomerProvince>{Provincia}</CustomerProvince>
    <CustomerCountry>{Italia}</CustomerCountry>
    <CustomerFiscalCode>{PartitaIVA}</CustomerFiscalCode>
    <CustomerTel>{Telefono}</CustomerTel>
    <CustomerCellPhone>{Cellulare}</CustomerCellPhone>
    <CustomerEmail>{Email}</CustomerEmail>
    <DeliveryName>{Nome per la consegna}</DeliveryName>
    <DeliveryAddress>{Indirizzo}</DeliveryAddress>
    <DeliveryPostcode>{CAP}</DeliveryPostcode>
    <DeliveryCity>{Città}</DeliveryCity>
    <DeliveryProvince>{Provincia}</DeliveryProvince>
    <DeliveryCountry>{Stato}</DeliveryCountry>
    <DocumentType>C</DocumentType>
    <Date>{Data}</Date>
    <Number>{Numero}</Number>
    <Numbering></Numbering>
    <CostDescription></CostDescription>
    <CostVatCode></CostVatCode>
    <CostAmount></CostAmount>
    <ContribDescription></ContribDescription>
    <ContribPerc></ContribPerc>
    <ContribSubjectToWithholdingTax></ContribSubjectToWithholdingTax>
    <ContribAmount></ContribAmount>
    <ContribVatCode></ContribVatCode>
    <TotalWithoutTax>+10</TotalWithoutTax>
    <VatAmount>+10</VatAmount>
    <WithholdingTaxAmount>0</WithholdingTaxAmount>
    <WithholdingTaxAmountB>0</WithholdingTaxAmountB>
    <WithholdingTaxNameB></WithholdingTaxNameB>
    <Total>+10</Total>
    <PriceList>Dom. OFFERTA</PriceList>
    <PricesIncludeVat>true</PricesIncludeVat>
    <TotalSubjectToWithholdingTax>0</TotalSubjectToWithholdingTax>
    <WithholdingTaxPerc>0</WithholdingTaxPerc>
    <WithholdingTaxPerc2>0</WithholdingTaxPerc2>
    <PaymentName>Contrassegno</PaymentName>
    <PaymentBank></PaymentBank>
    <PaymentAdvanceAmount></PaymentAdvanceAmount>
    <Carrier></Carrier>
    <TransportReason></TransportReason>
    <GoodsAppearance></GoodsAppearance>
    <NumOfPieces></NumOfPieces>
    <TransportDateTime></TransportDateTime>
    <ShipmentTerms></ShipmentTerms>
    <TransportedWeight></TransportedWeight>
    <TrackingNumber></TrackingNumber>
    <InternalComment></InternalComment>
    <CustomField1></CustomField1>
    <CustomField2></CustomField2>
    <CustomField3></CustomField3>
    <CustomField4></CustomField4>
    <FootNotes></FootNotes>
    <ExpectedConclusionDate></ExpectedConclusionDate>
    <SalesAgent></SalesAgent>
    <Rows>
        <Row>
            <Code></Code>
            <Description>QUESTA E' UNA RIGA DI TESTO PER EFFETTUARE TEST D'IMPORTAZIONE CORRETTA</Description>
            <Qty></Qty>
            <Um></Um>
            <Price></Price>
            <Discounts></Discounts>
            <VatCode Perc="22" Class="Imponibile" Description="Imponibile 22%">22</VatCode>
            <Total></Total>
            <Stock>false</Stock>
            <Notes></Notes>
        </Row>
    </Rows>
</Document>

files.output

Contiene impostazioni relative ai file creati dal programma.

files.output.csv

Percorso (relativo o assoluto) al file .csv da generare.

Valore di default

"./Documenti.csv"

files.output.kml

Percorso (relativo o assoluto) al file .kml da generare.

Valore di default

Cartella root del programma

options.output

options.output.csv_template

Questa voce definisce il formato di ogni riga del csv finale.

E’ possibile utilizzare i comandi di formattazione per cambiare il formato di output.

Valore di default

"@{CustomerName} {CustomerCode}@{eval_IndirizzoSpedizione} {eval_CAPSpedizione} {eval_CittaSpedizione}(20){eval_intervalloSpedizione}^{eval_pesoSpedizione}^"

features.shipping

features.shipping.default_interval

Questa voce definisce l’intervallo orario di spedizione di default per i clienti che non hanno un intervallo definito all’interno del campo personalizzato su Easyfatt.

Valore di default

"07:00-16:00"

features.kml_generation

features.kml_generation.google_api_key

Questa voce imposta la chiave di accesso alle API di Google Cloud usate per eseguire la geocodifica degli indirizzi in fase di creazione del file KML.

FARE ATTENZIONE

Attenzione! Questa chiave è personale e non deve essere condivisa con nessuno!

Inoltre, in assenza di questa chiave il programma non sarà in grado di generare il file KML.

Valore di default

""

features.kml_generation.placemark_title

Permette di personalizzare il titolo del nome del segnaposto nel file KML generato. E’ possibile utilizzare i comandi di formattazione per cambiare il formato di output.

Valore di default

"{customerName} ({customerCode}) {notes}"

features.kml_generation.location_search_type

Permette di personalizzare il metodo di ricerca degli indirizzi tramite Google Geocoding API.

Valori disponibili:

  • strict: E’ il metodo più conservativo, lo script si interrompe se l’API restituisce più di un indirizzo.
  • postcode: Se viene trovato più di un indirizzo corrispondente, restituisce quello con lo stesso CAP dell’indirizzo richiesto (fallisce comunque se ne trova più di uno).

Valore di default

"strict"

Questa voce nella configurazione è nata per contrastare il problema presentato nell’issue #126.