Prezzi degli articoli: i prezzi per listino, variante, unità di misura, confezione, quantità e promozione. Nel web service è il tipo PRODUCTPRICE (valore 20 di DataType); gli oggetti sono della classe ProductPrice e viaggiano nella lista ObjectListProductPrice della richiesta e della risposta.
Ogni prezzo è una riga identificata da articolo e progressivo. La riga dice a quale listino, variante, unità di misura e confezione si applica, se vale solo in un intervallo di quantità (SpecificaPerQuantita con DaQuantita e AQuantita) e se è un prezzo promozionale, con il periodo e il prezzo pieno da mostrare barrato.
Il progressivo lo decide chi invia: per un articolo con tre prezzi usa 1, 2 e 3. Reinviando lo stesso articolo e progressivo la riga viene aggiornata.
Scheda tecnica
| Voce | Valore |
|---|
| Tipo di dato | PRODUCTPRICE = 20 |
| Classe | ProductPrice |
| Lista nella richiesta e nella risposta | ObjectListProductPrice |
| Tabella letta da QUERY | PrezziListini — è il nome da usare davanti alle colonne in SQLFilter |
| Operazioni ammesse | QUERY (3), INSERTORMODIFY (0), DELETE (1), TRUNCATETABLE (2) |
| Campi chiave | Articolo + Progressivo + StringaVariante + Listino + UnitaMisura + Derivato + SpecificaPerQuantita + Package + DaQuantita + AQuantita + InPromozione + CodicePromozione — identificano il record: con gli stessi valori INSERTORMODIFY aggiorna, con valori nuovi crea |
| Chiave per cancellare con DeletingClass | Articolo|Progressivo|StringaVariante|Listino|UnitaMisura|Derivato|SpecificaPerQuantita|Package|DaQuantita|AQuantita|InPromozione|CodicePromozione |
| Chiave per le conferme di ricezione | Articolo|Progressivo — come si usa |
I campi di ProductPrice
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 |
|---|
ID | Intero lungo | — | 0 | id | Numero interno della riga di prezzo, assegnato dal server. |
Articolo | Testo | Chiave | vuoto | articolo | Codice dell'articolo a cui appartiene il prezzo. Codice dell'archivio Articoli. |
Progressivo | Intero | Chiave | — | progressivo | Numero della riga di prezzo per l'articolo: insieme all'articolo identifica la riga. |
StringaVariante | Testo | Chiave | vuoto | formvar | Valori della variante, separati come nel gestionale; vuoto per l'articolo senza variante. |
Listino | Testo | Chiave | vuoto | listino | Codice del listino. Codice dell'archivio Listini. |
Importo | Decimale | — | 0 | importo | Prezzo unitario. |
UnitaMisura | Testo | Chiave | vuoto | um | Codice dell'unità di misura. Codice dell'archivio Unità di misura. |
Derivato | Vero/falso | Chiave | false | derivato | Vero se il prezzo è calcolato da un altro listino. |
SpecificaPerQuantita | Vero/falso | Chiave | false | specqta | Vero se il prezzo vale solo tra DaQuantita e AQuantita. |
Package | Testo | Chiave | vuoto | codpack | Codice della confezione (packaging) a cui si applica il prezzo. |
DaQuantita | Decimale | Chiave | 0 | daqta | Quantità minima per cui vale il prezzo. |
AQuantita | Decimale | Chiave | 0 | aqta | Quantità massima per cui vale il prezzo. |
InPromozione | Vero/falso | Chiave | false | inpromo | Vero se è un prezzo promozionale. |
CodicePromozione | Testo | Chiave | vuoto | codpromo | Codice della promozione. |
MostraCountDown | Vero/falso | — | false | mostracountdown | Vero se sul sito compare il conto alla rovescia della promozione. |
PromozioneValidaDal | Data e ora | — | nessuna data | promovalidadal | Inizio della promozione. |
PromozioneValidaAl | Data e ora | — | nessuna data | promovalidaal | Fine della promozione. |
ImportoNoPromo | Decimale | — | 0 | importonopromo | Prezzo pieno, da mostrare barrato accanto al prezzo in promozione. |
PromoQtaMinima | Decimale | — | 0 | promoqtaminima | Quantità minima per avere il prezzo promozionale. |
PromoQtaMassima | Decimale | — | 0 | promoqtamassima | Quantità massima a cui si applica il prezzo promozionale. |
PromoLegatacliente | Vero/falso | — | false | legatacliente | Vero se la promozione vale solo per i clienti a cui è assegnata. |
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": 20,
"GuidPC": "gestionale-01",
"AllInsert": false,
"ObjectListProductPrice": [
{
"Articolo": "COD001",
"Progressivo": 1,
"StringaVariante": "",
"Listino": "COD002",
"UnitaMisura": "COD003",
"Derivato": false,
"SpecificaPerQuantita": false,
"Package": "COD004",
"DaQuantita": 1,
"AQuantita": 1,
"InPromozione": false,
"CodicePromozione": "COD005"
}
]
}
Lettura con filtro: fino a 100 record, ignorando le conferme di ricezione.
JSON · QUERY{
"DataOperation": 3,
"TypeObject": 20,
"GuidPC": "gestionale-01",
"SQLFilter": "PrezziListini.Articolo = 'COD001'",
"QueryParameter": {
"IgnoreImportRecord": true,
"StartingRecord": 1,
"LimitRecord": 100
}
}
Cancellazione: bastano i campi chiave.
JSON · DELETE{
"DataOperation": 1,
"TypeObject": 20,
"GuidPC": "gestionale-01",
"ObjectListProductPrice": [
{
"Articolo": "COD001",
"Progressivo": 1,
"StringaVariante": "",
"Listino": "COD004",
"UnitaMisura": "COD005",
"Derivato": false,
"SpecificaPerQuantita": false,
"Package": "COD008",
"DaQuantita": 1,
"AQuantita": 1,
"InPromozione": false,
"CodicePromozione": "COD0012"
}
]
}
Le regole su formati, date, numeri e compressione sono in formato e trasporto; esempi completi in esempi di codice.