Promozioni: le promozioni con periodo di validità. Nel web service è il tipo PROMOZIONI (valore 117 di DataType); gli oggetti sono della classe Promozioni e viaggiano nella lista ObjectListPromozioni della richiesta e della risposta.
Scheda tecnica
| Voce | Valore |
|---|
| Tipo di dato | PROMOZIONI = 117 |
| Classe | Promozioni |
| Lista nella richiesta e nella risposta | ObjectListPromozioni |
| Tabella letta da QUERY | Promozioni — è il nome da usare davanti alle colonne in SQLFilter |
| Operazioni ammesse | QUERY (3), INSERTORMODIFY (0), DELETE (1), TRUNCATETABLE (2) |
| Campi chiave | Codice — identificano il record: con gli stessi valori INSERTORMODIFY aggiorna, con valori nuovi crea |
| Chiave per cancellare con DeletingClass | Codice |
| Chiave per le conferme di ricezione | Codice — come si usa |
| Controlli prima del salvataggio | Codice: «Codice non specificato»
Descrizione: «Descrizione non specificato» |
I campi di Promozioni
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 |
|---|
Codice | Testo | Chiave, sì | vuoto | codice | Codice univoco del record. È la chiave con cui il record viene creato o aggiornato. Se manca il server risponde «Codice non specificato». |
Descrizione | Testo | Sì | vuoto | descrizione | Descrizione del record, mostrata nel gestionale e sul sito. Se manca il server risponde «Descrizione non specificato». |
Image | ImageTrasmission | — | null | — | Immagine, come file in Base64. |
DescrizioneDettagliata | Testo | — | vuoto | descrizionedett | Descrizione estesa, anche in HTML. |
ValidaDal | Data e ora | — | nessuna data | validadal | Valida dal. |
ValidaAl | Data e ora | — | nessuna data | validaal | Valida al. |
Listino | Testo | — | vuoto | listino | Codice del listino. Codice dell'archivio Listini. |
MostraCountDown | Vero/falso | — | false | mostracountdown | Vero se sul sito compare il conto alla rovescia della promozione. |
ProdottiInclusi | Elenco di PromozioniCorpo | — | elenco vuoto | — | Prodotti inclusi: elenco di oggetti PromozioniCorpo. |
Elemento usato dentro Promozioni. I suoi campi si inviano e si ricevono insieme al record principale.
| Campo | Tipo | Obbligatorio | Predefinito | A cosa serve |
|---|
CodiceArticolo | Testo | — | vuoto | Codice dell'articolo. Codice dell'archivio Articoli. |
UnitaMisura | Testo | — | vuoto | Codice dell'unità di misura. Codice dell'archivio Unità di misura. |
StringaVarianti | Testo | — | vuoto | Valori della variante, separati come nel gestionale; vuoto per l'articolo senza variante. |
TipoCalcolo | Testo | — | vuoto | Modalità di calcolo. |
TipoIncrementoDecremento | Testo | — | vuoto | Tipo incremento decremento. |
Valore1 | Decimale | — | 0 | Valore 1. |
Valore2 | Decimale | — | 0 | Valore 2. |
QtaMinima | Decimale | — | 0 | Quantità minima. |
QtaMassima | Decimale | — | 0 | Quantità massima. |
LegataCliente | Vero/falso | — | false | Legata cliente. |
ApplicataATutteVarianti | Vero/falso | — | false | Applicata a tutte varianti. |
PercentualeProvvigione | Decimale | — | 0 | Percentuale provvigione. |
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": 117,
"GuidPC": "gestionale-01",
"AllInsert": false,
"ObjectListPromozioni": [
{
"Codice": "COD001",
"Descrizione": "Descrizione di esempio",
"DescrizioneDettagliata": "Descrizione di esempio",
"ValidaDal": "2026-03-15T00:00:00",
"ValidaAl": "2026-03-15T00:00:00",
"Listino": "ESEMPIO"
}
]
}
Lettura con filtro: fino a 100 record, ignorando le conferme di ricezione.
JSON · QUERY{
"DataOperation": 3,
"TypeObject": 117,
"GuidPC": "gestionale-01",
"SQLFilter": "Promozioni.codice = 'COD001'",
"QueryParameter": {
"IgnoreImportRecord": true,
"StartingRecord": 1,
"LimitRecord": 100
}
}
Cancellazione: bastano i campi chiave.
JSON · DELETE{
"DataOperation": 1,
"TypeObject": 117,
"GuidPC": "gestionale-01",
"ObjectListPromozioni": [
{
"Codice": "COD001"
}
]
}
Le regole su formati, date, numeri e compressione sono in formato e trasporto; esempi completi in esempi di codice.