Percorso: Parametri e utilità - Utilità - Carica dati esterni
Viene proposto un elenco con tutti i campi della tabella di destinazione. I campi che non hanno una corrispondenza nella tabella di origine e che non devono essere inizializzati, devono essere cancellati dalla lista.
Vedi anche: Note su implementazioni successive per
caricare clienti con controlli
Se il campo è stringa, una volta letto, vengono eliminati gli eventuali caratteri bianchi in testa o in fondo poi vengono fatte le eventuali elaborazioni.
Occorre stabilire, per ogni campo, una serie di parametri.
Codice tabella
Fa riferimento ai campi Codice (2,3,4,5). Per i campi della tabella principale dovrà essere lasciato sempre bianco.
Nome campo
E' in generale il nome del campo della tabella sul database ma è lasciato libero per poter scrivere nomi particolari
per casi particolari.
Esempi:
Condizione necessaria per poter fare questo è che i campi caricati e quelli di destinazione siano della stessa lunghezza.
Ordine scrittura
E' l'ordine con cui i campi letti vengono scritti sul database. E' importante dove è obbligatorio che un campo venga scritto prima di un altro.
Tipo origine e Tipo destinazione
Quando si tratta di numeri con decimali mettere sempre Double e non Currency per la corretta gestione dei decimali.
Numero campo
Se il file da caricare è a lunghezza fissa, questo campo va lasciato bianco.
Se si mette qualche carattere questo verrà inserito all'inizio del campo caricato.
Se la tabella da caricare è del tipo 'con separatore', il numero campo è obbligatorio e dovrà contenere il numero della colonna che lo contiene sulla tabella di origine.
Se è impostato a 0, il campo di destinazione viene sbiancato (azzerato).
Per fare in modo che due campi della tabella di origine vengano caricati su un unico campo della tabella di destinazione basta mettere i numeri,
entrambi preceduti dal simbolo §.
Esempio:
nell'archivio banche Filiale e Sportello di azienda pc vanno caricate sul campo nuovo Agenzia; in Agenzia in numero campo si metterà: §3 §4 dove 3 e 4 sono filiale e sportello.
Se non si mette lo spazio tra i due numeri, i campi verranno caricati uno di seguito all'altro.
Se il campo destinazione dovrà contenere una scritta fissa seguita
dal contenuto del campo 'sorgente' si scriverà: XXX§n
dove XXX è la scritta fissa (Es. un prefisso per dei codici articolo da
caricare) e n è il numero campo
Se il numero di un campo viene messo tra parentesi quadre [§n] e questo campo è nullo o vale zero verrà sostituito con dei caratteri bianchi,
se viene messo tra parentesi graffe {n } , verrà sostituito solo se è nullo.
(Utilizzato nel caricamento della tabella Articoli per il campo sconto: i due sconti di azienda es. 2% e 5% vanno caricati in aziwin come 2+5. Se però lo sconto 2 è 0 non deve caricare 2+0 e nemmeno 0+0 se entrambi gli sconti sono a 0).
Inizio e lunghezza
Si devono compilare in alternativa al numero campo se la tabella da caricare è a lunghezza fissa
Se invece il file è 'con separatori', possono essere utilizzati questi campi per
caricare parzialmente il campo letto.
Se in inizio si imposta:
Se viene valorizzato anche il campo lunghezza con un numero positivo, il programma estrae dal campo letto, a partire dalla posizione indicata in Inizio, tanti caratteri quanti indicati in Lunghezza (In pratica esegue un Mid(variabile, inizio,lunghezza)
Dimensione
In generale non serve, viene letta dal database.
Se invece viene impostata ad N verranno estratti i primi N caratteri del campo, a -N, gli ultimi N caratteri del campo. Se il campo è stringa, una volta estratto, vengono subito eliminati gli eventuali caratteri bianchi in testa o in fondo poi vengono fatte le eventuali estrazioni.
Limite di lunghezza
Indica che il campo verrà caricato solo se di lunghezza non superiore al valore scritto qui (servirà ad esempio per caricare la partita iva o il codice fiscale dei clienti di azienda pc nel campo giusto del database)
Se si scrive un valore negativo, il campo verrà caricato solo se di lunghezza maggiore o uguale a quella scritta.
Valore di default
Può essere impostato per assegnare ad un campo un valore fisso: es. la data creazione su clienti, fornitori, conti che non viene letta dalla tabella oppure, se scritto con la sintassi §Codice (cioè con una stringa qualsiasi che inizia per §) indica che il valore da dare a quel campo deve essere chiesto all'operatore prima del caricamento.
Se si scrive §Anno$2000 all'operatore verrà chiesto:
Anno e verrà proposto il 2000 come default
Se è impostato questo campo viene ignorato il valore messo in Numero campo che però non può essere lasciato vuoto (mettere 0)
Per inserire nella tabella caricata un campo 'contatore' che non ha un corrispondente sulla tabella da caricare e che, eventualmente viene azzerato al cambiare di qualche campo di quest'ultima, si dovrà utilizzare la seguente sintassi:
§#<lista_di_campi_di_rottura># descrizione§<valore_di_default>
Il valore iniziale del contatore viene chiesto all'operatore; per partire da 1 occorre dare 0 perché il programma incrementa subito il valore digitato.
In variazione
Indica, solo se si è scelta la variazione dei dati esistenti nella maschera principale del caricamento della tabella, se il campo in oggetto deve essere variato o no. (es. nel caricamento degli articoli si potrebbe decidere che in variazione non si vuole aggiornare di nuovo la descrizione).
Valore non valido
E' possibile impostare in questo campo una stringa o un numero, verranno considerati non validi e quindi non caricati i record che nella tabella originale hanno quel valore.
Nella stringa sono ammessi * etc. ad esempio si può dire di escludere quei record nei quali un certo campo contiene la parola 'pippo' scrivendo: *pippo*
Valore valido
Se valorizzato indica l'unico valore valido di questo campo al fine di caricare il record. Come per il campo precedente, nella stringa vengono accettati gli * etc.
Servirà per caricare i listini. Dovranno essere caricati ad uno ad uno se ce ne sono in lire ed in valuta.
Carattere di riempimento / arrotondamento
Se il campo di destinazione è stringa, è possibile decidere di completare il campo da caricare con un certo carattere da impostare qui.
Nei campi numerici (quando non ha senso che ci sia un riempimento), in questo spazio si può mettere la modalità di arrotondamento del numero che si sta caricando: G=verrà considerato il numero di decimali di gestione della moneta, M =verrà considerato il numero di decimali della moneta, un numero X=numero fisso di decimali.
Se non c'è niente si assume il numero dei decimali messo nella moneta in decimali di gestione.
Num.caratteri di riempimento / Numero decimali
Nei campi numerici (quando non ha senso che ci sia un riempimento), in questo spazio si può mettere il numero dei decimali da utilizzare nel caricamento (utile quando si carica un valore con virgola virtuale però si sa quante posizioni decimali contiene; es. se si imposta 2 il programma dividerà per 100 intendendo 2 decimali etc.) Questo valore deve poi essere arrotondato per decidere con quanti decimali deve essere arrotondato si utilizza il campo "Car. Riempimento/Arrotondamento" con le modalità descritte sopra.
Obbligatorio
Indica se il campo è obbligatorio. I campi chiave vengono comunque considerati obbligatori.
Converti 0 a Null
Consente di far si che un campo che in origine contiene la stringa o il valore '0' venga caricato come campo bianco.
Tipo operazione
Indica se sul campo da caricare deve essere fatto un calcolo particolare. Es.: caricando l'aliquota iva da azienda pc occorre dividere per 10 il campo letto. (accetta i simboli: * / %)
Se il campo destinatario deriva dalla combinazione di più campi, se il tipo operazione è valorizzato e i campi origine sono numerici, l'operazione viene fatta singolarmente sui campi origine (serve per creare la stringa sconto sull'articolo a partire dai due sconti numerici e da dividere per 100 di azienda pc)
Stringa operazione
Nel caso sia stata specificata un'operazione da fare sul campo, qui si dovrà mettere il valore del divisore o moltiplicatore.
Es. 10 nel caso dell'aliquota iva del caricamento della tabella Articoli.
Si accetta anche il simbolo § seguito dal numero di un campo ad indicare che il campo della riga va moltiplicato o diviso per quest'ultimo.
Nel caso si stia caricando un file a lunghezza fissa, per indicare il campo da utilizzare nell'operazione, occorre mettere il simbolo § seguito dal numero che indica la posizione iniziale che contiene l'operatore seguito dal carattere : e dal numero che contiene la lunghezza della stringa dell'operatore, es.: §78:4 significa che l'operatore parte dal 78esimo carattere ed è lungo 4
Prezzi in Lire o Valuta/Euro (L/V)
Indica come devono essere considerati i prezzi (listini) da caricare.
Viene utilizzato in questo modo: il prezzo letto viene considerato nella moneta del listino cui si riferisce (se è un progressivo del magazzino invece lo si considera nella moneta principale). Il prezzo, sull'archivio Listini Articoli dovrà essere memorizzato in valuta, se si tratta di listino in valuta o in lire e in euro se si tratta di listino in lire o in euro.
Consideriamo il campo con la specifica L: se il listino che si sta caricando è in lire (lo si legge dalla tabella listini) il prezzo verrà inserito così com'è; se è in euro il prezzo letto verrà cambiato e trasformato in Lire; se è in un'altra valuta, il campo viene lasciato bianco.
Se invece il campo ha la specifica V: se il listino che si sta caricando è in valuta o in euro il prezzo verrà inserito così com'è mentre se è in lire verrà memorizzato trasformato in Euro.
Note su implementazioni successive
fatte per consentire di caricare clienti/fornitori assegnando un codice
progressivo e di fare controlli sulle anagrafiche caricate
Impostare i campi Gruppo e Mastro assegnando dei valori di default
Nella definizione del campo conto, campo da caricare da file, si può
mettere in 'Valore di default' una stringa (es. ^4,J:gruppo,mastro)
composta da:
Nell'esempio: ^4,J:gruppo,mastro , la lunghezza del campo 'alfanumerico' è 4, il codice da cercare per accodarsi o da creare inizia per J, il gruppo e il mastro sono quelli indicati come 'Valori di default' nella definizione dei campi Gruppo e Mastro