Passa al contenuto principale

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 (;).

ColonnaObbligatoriaNote
BarcodeLa vostra chiave di business. Vedi Panoramica
DescriptionChe pezzo è, in parole comprensibili
Width · HeightIn millimetri
ThicknessIn millimetri. Accetta decimali
ServicesLe lavorazioni, fra parentesi quadre: [SERVICE_A],[SERVICE_B]. Senza almeno una non esiste ciclo di lavorazione
GlassTypeTipo di vetro. Creata automaticamente se nuova
CustomerNameCreato automaticamente se nuovo
DueDateNoLa scadenza. Se assente vale oggi più 30 giorni
QuantityNoSe assente vale pezzo singolo
ItemNoLa riga d'ordine, per il lotto seriale
CancelledNoTrue rifiuta il pezzo — vedi sotto
CustomerOrder · InternalOrderNoI vostri riferimenti d'ordine
UrgentNoAlza la priorità nella programmazione
NotesNoTesto libero, che arriva fino al reparto
RouteNoRotta di consegna
PriorityNoPriorità nella programmazione, come numero
CutoutsNoNumero di intagli
ParentBarcodeNoCodice a barre del pezzo padre, per gli assemblati
ShapeNoSagoma del pezzo in rc2. Contenuto inline, o il nome di un file in shapes/
DrawingNoDisegno tecnico (SVG). Contenuto inline, o il nome di un file in shapes/
OrderImageNoNome di un'immagine in images/
I nomi in portoghese continuano a funzionare

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.

Le lavorazioni usano la virgola, non il punto e virgola

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 inviateDiventaPerché
6.5 · 6,56,5Un separatore solo, fuori dalla posizione delle migliaia, è il decimale
1.234,5 · 1,234.51234,5Con entrambi presenti, l'ultimo è il decimale. Le due convenzioni concordano
1.234.5671234567Lo stesso separatore ripetuto può essere solo raggruppamento
1.234RIFIUTATODavvero ambiguo: milleduecentotrentaquattro, oppure uno virgola duecentotrentaquattro?
abc · 12mm · vuotoRIFIUTATONon è un numero

Tre garanzie che ne discendono:

  1. Niente diventa un valore plausibile. Un numero illeggibile rifiuta il pezzo; non diventa 0 in una misura né 1 in una quantità.
  2. Il motivo indica quale campo, ed elenca in una volta tutti quelli sbagliati della riga, così il foglio si corregge in un passaggio solo.
  3. Il risultato non dipende dal nostro server. Lo stesso input viene letto allo stesso modo, a prescindere dalla lingua impostata sulla macchina.
Se il vostro gestionale scrive 1.234 intendendo mille

Inviate 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.