Patch level : 2.0 552
Files correlati : or1.exe or1100d.frm Ricompilazione Demo : [ ] Commento : GF20063 La stampa ordini per articolo riporta le qtà ordinata ed evasa solo fino alle decine non riportando quindi le centinaia e le migliaia.., inoltre mi riporta sulla destra dei totali fuori dal prefincato anche se non ho fleggato VISUALIZZA COLONNE VALORI, PREZZO, RESIDUO E GIACENZA e se spunto quest'ultime il prefincato per queste colonne non appare. git-svn-id: svn://10.65.10.50/trunk@11377 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									37a7974c05
								
							
						
					
					
						commit
						703a958c6a
					
				@ -71,7 +71,9 @@ protected:
 | 
			
		||||
  void filter_for_number();
 | 
			
		||||
  void filter_for_clifo_agent();
 | 
			
		||||
  void filter_for_articolo();
 | 
			
		||||
  void show_body_field(short id, bool on); // Attiva un campo del body (sole se esiste!)
 | 
			
		||||
 | 
			
		||||
  void show_body_field_for_clifo_agent(short id, bool on);
 | 
			
		||||
  void show_body_field_for_articolo(short id, bool on);
 | 
			
		||||
 | 
			
		||||
public:  
 | 
			
		||||
  TStampa_ordini() {};
 | 
			
		||||
@ -503,7 +505,7 @@ void TStampa_ordini::filter_for_number()
 | 
			
		||||
  ssec.printsection().find_field(BODY_COL_12 + id).show(_opz_giacenza);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void TStampa_ordini::show_body_field(short id, bool on)
 | 
			
		||||
void TStampa_ordini::show_body_field_for_clifo_agent(short id, bool on)
 | 
			
		||||
{
 | 
			
		||||
  TForm_item* i = _frm->exist_field('B', odd_page, id);
 | 
			
		||||
  if (i != NULL)
 | 
			
		||||
@ -803,15 +805,33 @@ void TStampa_ordini::filter_for_clifo_agent()
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  // Abilitazione intestazioni di colonna
 | 
			
		||||
  show_body_field(BODY_COL_5, _opz_valore);
 | 
			
		||||
  show_body_field(BODY_COL_6, _opz_valore);
 | 
			
		||||
  show_body_field(BODY_COL_10, _opz_prezzo);
 | 
			
		||||
  show_body_field(BODY_COL_11, _opz_residuo);
 | 
			
		||||
  show_body_field(BODY_COL_12, _opz_giacenza);  
 | 
			
		||||
  show_body_field_for_clifo_agent(BODY_COL_5, _opz_valore);
 | 
			
		||||
  show_body_field_for_clifo_agent(BODY_COL_6, _opz_valore);
 | 
			
		||||
  show_body_field_for_clifo_agent(BODY_COL_10, _opz_prezzo);
 | 
			
		||||
  show_body_field_for_clifo_agent(BODY_COL_11, _opz_residuo);
 | 
			
		||||
  show_body_field_for_clifo_agent(BODY_COL_12, _opz_giacenza);  
 | 
			
		||||
 | 
			
		||||
  set_totvaluta_items();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void TStampa_ordini::show_body_field_for_articolo(short id, bool on)
 | 
			
		||||
{
 | 
			
		||||
  TForm_item* i = _frm->exist_field('B', odd_page, id);
 | 
			
		||||
  if (i != NULL)
 | 
			
		||||
  {
 | 
			
		||||
    i->enable(on);
 | 
			
		||||
 | 
			
		||||
    i = _frm->exist_field('B', odd_page, id+400);
 | 
			
		||||
    if (i != NULL)
 | 
			
		||||
      i->enable(on);
 | 
			
		||||
  
 | 
			
		||||
    TForm_subsection& asec = (TForm_subsection&)_frm->find_field('B', odd_page, "TOTVAL1");
 | 
			
		||||
    i = asec.printsection().exist_field(id+500);
 | 
			
		||||
    if (i != NULL)
 | 
			
		||||
      i->enable(on);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void TStampa_ordini::filter_for_articolo()
 | 
			
		||||
{
 | 
			
		||||
  CHECK(_frm, "Form non valido");
 | 
			
		||||
@ -971,19 +991,11 @@ void TStampa_ordini::filter_for_articolo()
 | 
			
		||||
     _frm->find_field('B',odd_page,id).enable();
 | 
			
		||||
 | 
			
		||||
  // Abilitazione intestazioni di colonna
 | 
			
		||||
  show_body_field(BODY_COL_5,_opz_valore);
 | 
			
		||||
  show_body_field(BODY_COL_6,_opz_valore);
 | 
			
		||||
  show_body_field(BODY_COL_10,_opz_prezzo);
 | 
			
		||||
  show_body_field(BODY_COL_11,_opz_residuo);
 | 
			
		||||
  show_body_field(BODY_COL_12,_opz_giacenza);  
 | 
			
		||||
 | 
			
		||||
  // Abilitazione intestazioni di riga
 | 
			
		||||
  TForm_subsection& asec = (TForm_subsection&)_frm->find_field('B', odd_page, "ARTMAIN"); // Sottosezione padre
 | 
			
		||||
  asec.printsection().find_field(BODY_COL_5  + 400).show(_opz_valore);
 | 
			
		||||
  asec.printsection().find_field(BODY_COL_6  + 400).show(_opz_valore);
 | 
			
		||||
  asec.printsection().find_field(BODY_COL_10 + 400).show(_opz_prezzo);
 | 
			
		||||
  asec.printsection().find_field(BODY_COL_11 + 400).show(_opz_residuo);
 | 
			
		||||
  asec.printsection().find_field(BODY_COL_12 + 400).show(_opz_giacenza);
 | 
			
		||||
  show_body_field_for_articolo(BODY_COL_5,_opz_valore);
 | 
			
		||||
  show_body_field_for_articolo(BODY_COL_6,_opz_valore);
 | 
			
		||||
  show_body_field_for_articolo(BODY_COL_10,_opz_prezzo);
 | 
			
		||||
  show_body_field_for_articolo(BODY_COL_11,_opz_residuo);
 | 
			
		||||
  show_body_field_for_articolo(BODY_COL_12,_opz_giacenza);  
 | 
			
		||||
 | 
			
		||||
  set_totvaluta_items();
 | 
			
		||||
}
 | 
			
		||||
@ -1065,18 +1077,10 @@ void TStampa_ordini::main_loop()
 | 
			
		||||
    
 | 
			
		||||
    switch (_tipo)
 | 
			
		||||
    {
 | 
			
		||||
    case clifo:
 | 
			
		||||
      form_name = "or1100b";
 | 
			
		||||
      break;
 | 
			
		||||
    case agente:
 | 
			
		||||
      form_name = "or1100c";
 | 
			
		||||
      break;
 | 
			
		||||
    case articolo: 
 | 
			
		||||
      form_name = "or1100d";
 | 
			
		||||
      break;
 | 
			
		||||
    default:
 | 
			
		||||
      form_name = "or1100a";
 | 
			
		||||
      break;
 | 
			
		||||
    case clifo:    form_name = "or1100b"; break;
 | 
			
		||||
    case agente:   form_name = "or1100c"; break;
 | 
			
		||||
    case articolo: form_name = "or1100d"; break;
 | 
			
		||||
    default:       form_name = "or1100a"; break;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    _frm = new TOrdine_form(form_name);
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,7 @@
 | 
			
		||||
// Form per la stampa ordini per articolo
 | 
			
		||||
#include "or1100a.h"
 | 
			
		||||
// Cursor sorting on main file is set also in application
 | 
			
		||||
//USE LF_RIGHEDOC BY CODART LIVELLO CODMAG DATACONS
 | 
			
		||||
USE LF_RIGHEDOC BY CODART LIVELLO CODMAG ANNO NDOC DATACONS
 | 
			
		||||
JOIN LF_DOC INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
 | 
			
		||||
JOIN LF_ANAMAG INTO CODART==CODART
 | 
			
		||||
@ -10,11 +11,13 @@ DESCRIPTION
 | 
			
		||||
BEGIN
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
GENERAL
 | 
			
		||||
BEGIN
 | 
			
		||||
  OFFSET 0 0
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
SECTION HEADER ODD 6
 | 
			
		||||
 | 
			
		||||
STRINGA 1 40 1
 | 
			
		||||
@ -49,7 +52,7 @@ END //HEADER
 | 
			
		||||
 | 
			
		||||
SECTION BODY ODD 4 COLUMNWISE
 | 
			
		||||
 | 
			
		||||
STRINGA 1 10
 | 
			
		||||
STRINGA BODY_COL_1 20
 | 
			
		||||
BEGIN
 | 
			
		||||
 SPECIAL STRINGA INTESTAZIONE "Codice" "Codice"
 | 
			
		||||
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 | 
			
		||||
@ -61,7 +64,7 @@ BEGIN
 | 
			
		||||
 MESSAGE RESET,508|RESET,509|RESET,511
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRING 2 40
 | 
			
		||||
STRING BODY_COL_2 40
 | 
			
		||||
BEGIN
 | 
			
		||||
 SPECIAL STRINGA INTESTAZIONE "Descrizione" "Descrizione"
 | 
			
		||||
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 | 
			
		||||
@ -69,9 +72,10 @@ BEGIN
 | 
			
		||||
 KEY "Descrizione art."
 | 
			
		||||
 PROMPT 2 1 ""
 | 
			
		||||
 FIELD LF_RIGHEDOC->DESCR
 | 
			
		||||
 //MESSAGE _ORDINE,DESCRIZIONE
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRINGA 3 4
 | 
			
		||||
STRINGA BODY_COL_3 4
 | 
			
		||||
BEGIN
 | 
			
		||||
 SPECIAL STRINGA INTESTAZIONE "Val." "Val."
 | 
			
		||||
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 | 
			
		||||
@ -80,7 +84,7 @@ BEGIN
 | 
			
		||||
 PROMPT 3 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
DATA 4 10
 | 
			
		||||
DATA BODY_COL_4 10
 | 
			
		||||
BEGIN
 | 
			
		||||
 SPECIAL STRINGA INTESTAZIONE "Data cons." "Data cons."
 | 
			
		||||
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 | 
			
		||||
@ -109,7 +113,7 @@ BEGIN
 | 
			
		||||
 PROMPT 6 1 ""
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRINGA 7 4
 | 
			
		||||
STRINGA BODY_COL_7 4
 | 
			
		||||
BEGIN
 | 
			
		||||
 SPECIAL STRINGA INTESTAZIONE "UM" "UM"
 | 
			
		||||
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 | 
			
		||||
@ -119,7 +123,7 @@ BEGIN
 | 
			
		||||
 GROUP G_DETTAGLIO
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRINGA 8 13
 | 
			
		||||
STRINGA BODY_COL_8 15
 | 
			
		||||
BEGIN
 | 
			
		||||
 SPECIAL STRINGA INTESTAZIONE "Q.ta Ordinata" "Q.ta Ordinata"
 | 
			
		||||
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 | 
			
		||||
@ -129,7 +133,7 @@ BEGIN
 | 
			
		||||
 GROUP G_DETTAGLIO
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRINGA 9 13
 | 
			
		||||
STRINGA BODY_COL_9 15
 | 
			
		||||
BEGIN
 | 
			
		||||
 SPECIAL STRINGA INTESTAZIONE "Q.ta Evasa" "Q.ta Evasa"
 | 
			
		||||
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 | 
			
		||||
@ -139,6 +143,36 @@ BEGIN
 | 
			
		||||
 GROUP G_DETTAGLIO
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRINGA BODY_COL_10 13
 | 
			
		||||
BEGIN
 | 
			
		||||
 SPECIAL STRINGA INTESTAZIONE "@CPr. scontato" "Prezzo un. scontato"
 | 
			
		||||
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 | 
			
		||||
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 | 
			
		||||
 KEY "Prezzo un. scontato" // Solo intestazione
 | 
			
		||||
 PROMPT 10 1 ""
 | 
			
		||||
 GROUP G_DETTAGLIO
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRINGA BODY_COL_11 15
 | 
			
		||||
BEGIN
 | 
			
		||||
 SPECIAL STRINGA INTESTAZIONE "@CResiduo" "Residuo"
 | 
			
		||||
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 | 
			
		||||
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 | 
			
		||||
 KEY "Residuo" // Solo intestazione
 | 
			
		||||
 PROMPT 11 1 ""
 | 
			
		||||
 GROUP G_DETTAGLIO
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
STRINGA BODY_COL_12 15
 | 
			
		||||
BEGIN
 | 
			
		||||
 SPECIAL STRINGA INTESTAZIONE "@CGiac. Att." "Giacenza attuale"
 | 
			
		||||
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 | 
			
		||||
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 | 
			
		||||
 KEY "Giacenza attuale" // Solo intestazione
 | 
			
		||||
 PROMPT 12 1 ""
 | 
			
		||||
 GROUP G_DETTAGLIO
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
// Raggruppamento righe documenti per lo stesso codice articolo
 | 
			
		||||
SECTION ARTMAIN 2 1 1 FILE LF_RIGHEDOC GROUP CODART
 | 
			
		||||
 | 
			
		||||
@ -160,6 +194,7 @@ SECTION ARTICOLI 1 0 0 FILE LF_RIGHEDOC GROUP ANNO+NDOC+CODVAL+DATACONS
 | 
			
		||||
    BEGIN
 | 
			
		||||
     KEY "Descrizione"
 | 
			
		||||
     PROMPT 2 1 ""
 | 
			
		||||
//     MESSAGE _ORDINE,DESCRIZIONE|COPY,402
 | 
			
		||||
     MESSAGE _STREXPR,LF_DOC->CODNUM+"/"+LF_DOC->ANNO+"-"+LF_DOC->NDOC+" del "+LF_DOC->DATADOC|COPY,402
 | 
			
		||||
     FLAGS "H"
 | 
			
		||||
    END
 | 
			
		||||
@ -206,14 +241,14 @@ SECTION ARTICOLI 1 0 0 FILE LF_RIGHEDOC GROUP ANNO+NDOC+CODVAL+DATACONS
 | 
			
		||||
     MESSAGE _ORDINE,SELECTUM|COPY,407
 | 
			
		||||
     FLAGS "H"
 | 
			
		||||
    END
 | 
			
		||||
    NUMBER 308 13
 | 
			
		||||
    NUMBER 308 15
 | 
			
		||||
    BEGIN
 | 
			
		||||
     KEY "Q.ta Ordinata"
 | 
			
		||||
     PROMPT 8 1 ""
 | 
			
		||||
     MESSAGE _ORDINE,QTA|_ORDINE,CONVUM|ADD,408
 | 
			
		||||
     FLAGS "H"
 | 
			
		||||
    END
 | 
			
		||||
    NUMBER 309 13
 | 
			
		||||
    NUMBER 309 15
 | 
			
		||||
    BEGIN
 | 
			
		||||
     KEY "Q.ta Evasa"
 | 
			
		||||
     PROMPT 9 1 ""
 | 
			
		||||
@ -245,7 +280,7 @@ SECTION ARTICOLI 1 0 0 FILE LF_RIGHEDOC GROUP ANNO+NDOC+CODVAL+DATACONS
 | 
			
		||||
END // END SECTION ARTICOLI
 | 
			
		||||
 | 
			
		||||
// Totalizers for previous section
 | 
			
		||||
NUMBER 401 10
 | 
			
		||||
NUMBER 401 20
 | 
			
		||||
  BEGIN
 | 
			
		||||
   PROMPT 1 1 ""
 | 
			
		||||
   FLAGS "D"
 | 
			
		||||
@ -296,20 +331,20 @@ STRINGA 407 4
 | 
			
		||||
   MESSAGE COPY,507
 | 
			
		||||
   GROUP G_TOTALEART
 | 
			
		||||
  END
 | 
			
		||||
NUMBER 408 13
 | 
			
		||||
NUMBER 408 15
 | 
			
		||||
  BEGIN   
 | 
			
		||||
   KEY "Q.ta Ordinata"
 | 
			
		||||
   PROMPT 8 1 ""
 | 
			
		||||
   PICTURE "#@,@@@"
 | 
			
		||||
   PICTURE "########@,@@@@@"
 | 
			
		||||
   FLAGS "D"
 | 
			
		||||
   MESSAGE ADD,508
 | 
			
		||||
   GROUP G_TOTALEART
 | 
			
		||||
END
 | 
			
		||||
NUMBER 409 13
 | 
			
		||||
NUMBER 409 15
 | 
			
		||||
  BEGIN
 | 
			
		||||
   KEY "Q.ta Evasa"
 | 
			
		||||
   PROMPT 9 1 ""
 | 
			
		||||
   PICTURE "#@,@@@"
 | 
			
		||||
   PICTURE "########@,@@@@@"
 | 
			
		||||
   FLAGS "D"
 | 
			
		||||
   MESSAGE ADD,509
 | 
			
		||||
   GROUP G_TOTALEART
 | 
			
		||||
@ -327,7 +362,7 @@ NUMBER 411 15
 | 
			
		||||
  BEGIN
 | 
			
		||||
   KEY "Residuo"
 | 
			
		||||
   PROMPT 11 1 "" 
 | 
			
		||||
   PICTURE "########@,@@@"
 | 
			
		||||
   PICTURE "########@,@@@@@"
 | 
			
		||||
   FLAGS "D"
 | 
			
		||||
   MESSAGE ADD,511
 | 
			
		||||
   GROUP G_TOTALEART
 | 
			
		||||
@ -336,6 +371,10 @@ NUMBER 412 15
 | 
			
		||||
  BEGIN
 | 
			
		||||
     KEY "Giac. attuale"
 | 
			
		||||
     PROMPT 12 1 "" 
 | 
			
		||||
//   PICTURE "########@,@@@@@"
 | 
			
		||||
//   FLAGS "H"
 | 
			
		||||
//   MESSAGE COPY,512
 | 
			
		||||
//   GROUP G_TOTALEART
 | 
			
		||||
  END    
 | 
			
		||||
 | 
			
		||||
END // SEZIONE ARTMAIN  
 | 
			
		||||
@ -343,7 +382,7 @@ END // SEZIONE ARTMAIN
 | 
			
		||||
 | 
			
		||||
SECTION TOTVAL1 3 0 1 GROUP
 | 
			
		||||
FLAGS "D"
 | 
			
		||||
  NUMBER 51 10
 | 
			
		||||
  NUMBER 51 20
 | 
			
		||||
  BEGIN
 | 
			
		||||
    PROMPT 1 1 ""
 | 
			
		||||
  END
 | 
			
		||||
@ -384,18 +423,18 @@ FLAGS "D"
 | 
			
		||||
    PROMPT 7 1 ""
 | 
			
		||||
  END
 | 
			
		||||
  
 | 
			
		||||
  NUMERO 508 13 3
 | 
			
		||||
  NUMERO 508 15 5
 | 
			
		||||
  BEGIN
 | 
			
		||||
    KEY "Tot Q.ta ordinata"
 | 
			
		||||
    PROMPT 8 1 ""
 | 
			
		||||
    PICTURE "########@,@@@"
 | 
			
		||||
    PICTURE "########@,@@@@@"
 | 
			
		||||
  END
 | 
			
		||||
 | 
			
		||||
  NUMERO 509 13 3
 | 
			
		||||
  NUMERO 509 15 5
 | 
			
		||||
  BEGIN
 | 
			
		||||
    KEY "Tot Q.ta evasa"
 | 
			
		||||
    PROMPT 9 1 ""
 | 
			
		||||
    PICTURE "########@,@@@"
 | 
			
		||||
    PICTURE "########@,@@@@@"
 | 
			
		||||
  END
 | 
			
		||||
 
 | 
			
		||||
 VALUTA 510 13
 | 
			
		||||
@ -408,14 +447,14 @@ FLAGS "D"
 | 
			
		||||
 BEGIN
 | 
			
		||||
   KEY "Tot Residuo"
 | 
			
		||||
   PROMPT 11 1 ""
 | 
			
		||||
   PICTURE "########@,@@@"
 | 
			
		||||
   PICTURE "########@,@@@@@"
 | 
			
		||||
 END
 | 
			
		||||
 
 | 
			
		||||
 NUMERO 512 15 5
 | 
			
		||||
 BEGIN
 | 
			
		||||
   KEY "Tot Giacenza"
 | 
			
		||||
   PROMPT 12 1 ""
 | 
			
		||||
   PICTURE "########@,@@@"
 | 
			
		||||
   PICTURE "########@,@@@@@"
 | 
			
		||||
 END
 | 
			
		||||
 | 
			
		||||
END // Fine sezione totale in valuta #1
 | 
			
		||||
@ -423,7 +462,7 @@ END // Fine sezione totale in valuta #1
 | 
			
		||||
 | 
			
		||||
SECTION TOTVAL2 1 0 1 GROUP
 | 
			
		||||
FLAGS "D"
 | 
			
		||||
  NUMBER 61 10
 | 
			
		||||
  NUMBER 61 20
 | 
			
		||||
  BEGIN
 | 
			
		||||
    PROMPT 1 1 ""
 | 
			
		||||
  END
 | 
			
		||||
@ -464,7 +503,7 @@ END // Fine sezione totale in valuta #2
 | 
			
		||||
 | 
			
		||||
SECTION TOTVAL3 1 0 1 GROUP
 | 
			
		||||
FLAGS "D"
 | 
			
		||||
  NUMBER 71 10
 | 
			
		||||
  NUMBER 71 20
 | 
			
		||||
  BEGIN
 | 
			
		||||
    PROMPT 1 1 ""
 | 
			
		||||
  END
 | 
			
		||||
@ -504,7 +543,7 @@ END // Fine sezione totale in valuta #3
 | 
			
		||||
 | 
			
		||||
SECTION TOTVAL4 1 0 1 GROUP
 | 
			
		||||
FLAGS "D"
 | 
			
		||||
  NUMBER 81 10
 | 
			
		||||
  NUMBER 81 20
 | 
			
		||||
  BEGIN
 | 
			
		||||
    PROMPT 1 1 ""
 | 
			
		||||
  END
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user