Formato del file
Un foglio con una riga per pezzo. .csv, .xlsx, oppure uno .zip che contenga uno dei due.
Il pacchetto ZIP
esempio.zip
├── pieces.csv ← esattamente UN foglio, nella radice
├── images/ ← facoltativo: l'immagine originale dell'ordine
│ └── imagem.png
└── shapes/ ← facoltativo: SVG o RC2 della sagoma del pezzo
└── forma.svg
Esattamente un foglio nella radice. Due, o nessuno, rifiutano l'intero pacchetto prima di leggere qualsiasi riga.
Le colonne Drawing e Shape accettano il contenuto inline oppure il nome di un file dentro shapes/. Lo stesso vale per OrderImage e images/.
Colonne
Il separatore è il punto e virgola (;).
| Colonna | Obbligatoria | Note |
|---|---|---|
Barcode | Sì | La vostra chiave di business. Vedi Panoramica |
Description | Sì | Che pezzo è, in parole comprensibili |
Width · Height | Sì | In millimetri |
Thickness | Sì | In millimetri. Accetta decimali |
Services | Sì | Le lavorazioni, fra parentesi quadre: [SERVICE_A],[SERVICE_B]. Senza almeno una non esiste ciclo di lavorazione |
GlassType | Sì | Tipo di vetro. Creata automaticamente se nuova |
CustomerName | Sì | Creato automaticamente se nuovo |
DueDate | No | La scadenza. Se assente vale oggi più 30 giorni |
Quantity | No | Se assente vale pezzo singolo |
Item | No | La riga d'ordine, per il lotto seriale |
Cancelled | No | True rifiuta il pezzo — vedi sotto |
CustomerOrder · InternalOrder | No | I vostri riferimenti d'ordine |
Urgent | No | Alza la priorità nella programmazione |
Notes | No | Testo libero, che arriva fino al reparto |
Route | No | Rotta di consegna |
Priority | No | Priorità nella programmazione, come numero |
Cutouts | No | Numero di intagli |
ParentBarcode | No | Codice a barre del pezzo padre, per gli assemblati |
Shape | No | Sagoma del pezzo in rc2. Contenuto inline, o il nome di un file in shapes/ |
Drawing | No | Disegno tecnico (SVG). Contenuto inline, o il nome di un file in shapes/ |
OrderImage | No | Nome di un'immagine in images/ |
Il contratto pubblica i nomi in inglese qui sopra. I vecchi nomi in portoghese — CodigoBarra, Largura, Espessura, ServicosAplicaveis, Inativa e gli altri — restano accettati, quindi un file che già generate continua a funzionare. I due insiemi possono perfino comparire nella stessa riga di intestazione.
Una nuova integrazione deve usare i nomi in inglese: sono quelli che questa pagina continuerà a documentare.
Il layout .xlsx viene letto per posizione, non per intestazione. I nomi di colonna nel foglio sono ignorati — conta l'ordine. Se state partendo ora, usate il CSV: l'intestazione rende il file leggibile da una persona e tollerante all'aggiunta di una colonna in futuro.
Dentro il file, separate le lavorazioni con una virgola: [SERVICE_A],[SERVICE_B].
Il file stesso è delimitato da punto e virgola, quindi un ; dentro un campo diventa una nuova colonna e sposta in silenzio il resto della riga.
Come vengono letti i numeri
Vale per Width, Height, Thickness e Quantity, in tutti e tre i formati.
Il separatore decimale può essere il punto o la virgola — il sistema capisce quale, invece di imporre un formato. Quello che non fa è indovinare quando indovinare è impossibile:
| Voi inviate | Diventa | Perché |
|---|---|---|
6.5 · 6,5 | 6,5 | Un separatore solo, fuori dalla posizione delle migliaia, è il decimale |
1.234,5 · 1,234.5 | 1234,5 | Con entrambi presenti, l'ultimo è il decimale. Le due convenzioni concordano |
1.234.567 | 1234567 | Lo stesso separatore ripetuto può essere solo raggruppamento |
1.234 | RIFIUTATO | Davvero ambiguo: milleduecentotrentaquattro, oppure uno virgola duecentotrentaquattro? |
abc · 12mm · vuoto | RIFIUTATO | Non è un numero |
Tre garanzie che ne discendono:
- Niente diventa un valore plausibile. Un numero illeggibile rifiuta il pezzo; non diventa
0in una misura né1in una quantità. - Il motivo indica quale campo, ed elenca in una volta tutti quelli sbagliati della riga, così il foglio si corregge in un passaggio solo.
- Il risultato non dipende dal nostro server. Lo stesso input viene letto allo stesso modo, a prescindere dalla lingua impostata sulla macchina.
1.234 intendendo milleInviate 1234. Non c'è modo per l'altro capo di distinguerlo da un decimale, e indovinare è esattamente ciò che ci rifiutiamo di fare.
Quantity assente vale pezzo singolo. Quantity frazionaria viene rifiutata invece che troncata — 2,5 pezzi è un errore di ciò che ha generato il file, e arrotondare a 2 lo nasconderebbe.
Pezzi annullati
Cancelled=True restituisce REJECTED, e non viene salvato nulla — né il pezzo, né la tipologia o il cliente che avrebbe creato.
È voluto. Registrare qualcosa che è già annullato è rumore, e restituire CREATED per un pezzo che il vostro stesso sistema ha annullato sarebbe tecnicamente vero e fuorviante nella pratica.
Rifiutare non riserva nulla: il codice a barre resta libero. Se l'annullamento viene revocato e reinviate il pezzo attivo, entra normalmente.
Ottenere un esempio
Il Mover.Glass Connector che gira presso di voi porta con sé un pacchetto di esempio funzionante. Il pulsante Send sample lo deposita nella cartella di ingresso e il ciclo normale lo elabora — un modo per provare il percorso da un capo all'altro senza aspettare il vostro gestionale.