Su campo multiplo calcolato

0
0

Non ho molta pratica con i campi multipli, ma ho provato a realizzarne uno calcolato e non riesco a inserire nella sua giusta ripetizione in base  al risultato .

Mi spiego meglio

nelle righe delle fatture dove trovo i vari articoli  sto cercando di inserire un campo multiplo calcolato numerico di dieci articoli più venduti e se riuscissi ad inserire in base al cod articolo la quantità venduta, nella ripetizione esatta del campo calcolato  sfrutterei questo campo nel portale cliente.

il calcolo va sempre solo sul primo campo.

Grazie in anticipo per un suggerimento

Marked as spam
Pubblicato da Enrico Gabrielli (Domande: 5, Risposte: 2)
31/03/2020 17:54
40 visti
0
Risposta privata

se va solo sul primo campo, devi aggiungere espanso() su tutti i campi non multipli inseriti nel campo. ciò detto ti può convenire una cosa del genere:

dichiara(

ls=

EseguiSQL ( 

"select "nomedelcampoarticolo", sum("nomedelcampoquantita") as qta from "tuatabella" WHERE "tuocampocliente"=?  GROUP BY ID_articolo ORDER BY qta DESC" ; " " ; ""  ;tuoidcliente);

ValoriinMezzo ( ls ; get(numeroripetizionecalcolo) ; 1 )

)

 

Se vuoi gli articoli più venduti in assoluto e non i più venduti per cliente puoi togliere WHERE "tuocampocliente"=?

 

facci sapere

 

.g.

Marked as spam
Pubblicato da Giulio Villani (Domande: 0, Risposte: 1953)
01/04/2020 10:28
0
Risposta privata

Forse mi sono spiegato male.

Anch'io ho usato DICHIARA senza usare EseguiSQL perchè sono poco pratico di quest'ultima.

il mio calcolo sul campo multiplo è

Dichiara ( [

art = ParoleaSinistra ( magazzino::codice_articolo ; 1 );

qta = magazzino::quantita;

btg  = ( magazzino::contenuto_lt = "0,75" or "0,50");

mgn  = ( magazzino::UM = "btg da"  and magazzino::contenuto_lt = "1,5");

pz = magazzino::totale_pz;

lt = magazzino::totale_lt];

 

Casi ( 

art = "FAL"  and btg  ;  qta ; 

art = "RP"  and btg  ;   Espanso (qta ) ;

art = "RPS"  and btg  ;  Espanso (qta );    

art = "FIO"  and btg  ; Espanso ( qta ); 

art = "TOPP"  and btg  ; Espanso ( qta ); 

art = "ORB"  and btg  ; Espanso ( qta ); 

 

 "0" )

)

Il problema è che non riesco a trovare una formula che lo inserisca non sulla prima ripetizione, ma sulla rispettiva ripetizione del rispettivo articolo.

Sono riuscito solo con uno script ed un campo calcolato che assegni un numero con il  quale  va inserito il rispettivo valore

Avrei preferito evitare lo script.

 

Marked as spam
Pubblicato da Enrico Gabrielli (Domande: 5, Risposte: 2)
01/04/2020 17:03
0
Risposta privata

ti sei spiegato benissimo, ma espanso lo devi mettere sul campo, quindi:

 

art = ParoleaSinistra ( espanso(magazzino::codice_articolo) ; 1 );

qta = espanso(magazzino::quantita);

 

comunque, anche la mia risposta può risolvere il tuo problema ;)

.g.

Marked as spam
Pubblicato da Giulio Villani (Domande: 0, Risposte: 1953)
02/04/2020 09:59