File degli articoli: schede tecniche, manuali e certificati allegati agli articoli. Nel web service è il tipo PRODUCTFILE (valore 22 di DataType); gli oggetti sono della classe ProductFile e viaggiano nella lista ObjectListProductFile della richiesta e della risposta.
Come le immagini, ma per i documenti: schede tecniche, manuali, certificati, dichiarazioni. Il file viaggia in File in Base64, con un nome da mostrare e il raggruppamento in cui compare nella scheda del prodotto.
Scheda tecnica
| Voce | Valore |
|---|
| Tipo di dato | PRODUCTFILE = 22 |
| Classe | ProductFile |
| Lista nella richiesta e nella risposta | ObjectListProductFile |
| Tabella letta da QUERY | articolifileass — è il nome da usare davanti alle colonne in SQLFilter |
| Operazioni ammesse | QUERY (3), INSERTORMODIFY (0), DELETE (1), TRUNCATETABLE (2) |
| Campi chiave | Articolo + StringaVariante + Indice — identificano il record: con gli stessi valori INSERTORMODIFY aggiorna, con valori nuovi crea |
| Chiave per cancellare con DeletingClass | Articolo|StringaVariante|Indice |
| Chiave per le conferme di ricezione | Articolo|StringaVariante|Indice — come si usa |
| Controlli prima del salvataggio | Articolo: «Articolo non specificato» |
I campi di ProductFile
La colonna Obbligatorio riporta i campi chiave e quelli controllati dal server prima di salvare; Predefinito è il valore che il campo assume se non lo invii; Colonna è il nome del campo nel database, da usare nei filtri di lettura.
| Campo | Tipo | Obbligatorio | Predefinito | Colonna | A cosa serve |
|---|
Articolo | Testo | Chiave, sì | vuoto | articolo | Codice dell'articolo. Codice dell'archivio Articoli. Se manca il server risponde «Articolo non specificato». |
StringaVariante | Testo | Chiave | vuoto | formvar | Valori della variante, separati come nel gestionale; vuoto per l'articolo senza variante. |
Indice | Intero | Chiave | 0 | indice | Numero d'ordine del file per lo stesso articolo e la stessa variante. |
File | ImageTrasmission | — | oggetto vuoto | — | Il file: nome e contenuto in Base64. |
Nome | Testo | — | vuoto | nome | Nome del file da mostrare sul sito. |
Raggruppamento | Testo | — | vuoto | codraggr | Codice del raggruppamento in cui compare il file. Codice dell'archivio Raggruppamenti dei file. |
URLExportFoto | Testo | — | vuoto | — | Indirizzo pubblico del file da usare nelle esportazioni; viene salvato così come lo invii. |
Esempi
Inserimento o aggiornamento di un record (valori di esempio). Ricorda che INSERTORMODIFY riscrive tutti i campi: quelli che non invii tornano al valore predefinito, quindi per modificare un record esistente invia il record completo.
JSON · INSERTORMODIFY{
"DataOperation": 0,
"TypeObject": 22,
"GuidPC": "gestionale-01",
"AllInsert": false,
"ObjectListProductFile": [
{
"Articolo": "COD001",
"StringaVariante": "",
"Indice": 1,
"Nome": "Esempio",
"Raggruppamento": "ESEMPIO",
"URLExportFoto": "ESEMPIO"
}
]
}
Lettura con filtro: fino a 100 record, ignorando le conferme di ricezione.
JSON · QUERY{
"DataOperation": 3,
"TypeObject": 22,
"GuidPC": "gestionale-01",
"SQLFilter": "articolifileass.articolo = 'COD001'",
"QueryParameter": {
"IgnoreImportRecord": true,
"StartingRecord": 1,
"LimitRecord": 100
}
}
Cancellazione: bastano i campi chiave.
JSON · DELETE{
"DataOperation": 1,
"TypeObject": 22,
"GuidPC": "gestionale-01",
"ObjectListProductFile": [
{
"Articolo": "COD001",
"StringaVariante": "",
"Indice": 1
}
]
}
Le regole su formati, date, numeri e compressione sono in formato e trasporto; esempi completi in esempi di codice.