Patch level : 12.0 1014

Files correlati     : ve0.exe ve5800a.h ve5800a.msk ve5800a.uml ve5800.cpp velib04.cpp
Commento            :

Aggiunto Raggruppamento righe documenti con medesima descrizione.

Interno :
This commit is contained in:
francescofucarino 2020-11-25 16:50:43 +01:00
parent 640a6f8ecd
commit 2b2dd71239
13 changed files with 388 additions and 25 deletions

View File

@ -191,7 +191,10 @@
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile> </ClCompile>
<ClCompile Include="..\src\ve\ve5700.cpp" /> <ClCompile Include="..\src\ve\ve5700.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\src\ve\ve5800.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<MskCompiler Include="..\src\ve\ve5100a.uml" /> <MskCompiler Include="..\src\ve\ve5100a.uml" />
@ -201,6 +204,7 @@
<MskCompiler Include="..\src\ve\ve5500a.uml" /> <MskCompiler Include="..\src\ve\ve5500a.uml" />
<MskCompiler Include="..\src\ve\ve5600a.uml" /> <MskCompiler Include="..\src\ve\ve5600a.uml" />
<MskCompiler Include="..\src\ve\ve5700.uml" /> <MskCompiler Include="..\src\ve\ve5700.uml" />
<MskCompiler Include="..\src\ve\ve5800a.uml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\src\ve\ve5.h" /> <ClInclude Include="..\src\ve\ve5.h" />
@ -210,6 +214,7 @@
<ClInclude Include="..\src\ve\ve5400.h" /> <ClInclude Include="..\src\ve\ve5400.h" />
<ClInclude Include="..\src\ve\ve5500.h" /> <ClInclude Include="..\src\ve\ve5500.h" />
<ClInclude Include="..\src\ve\ve5700.h" /> <ClInclude Include="..\src\ve\ve5700.h" />
<ClInclude Include="..\src\ve\ve5800a.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="AgaLib.vcxproj"> <ProjectReference Include="AgaLib.vcxproj">

View File

@ -39,6 +39,9 @@
<ClCompile Include="..\src\ve\ve5700.cpp"> <ClCompile Include="..\src\ve\ve5700.cpp">
<Filter>Sources</Filter> <Filter>Sources</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\src\ve\ve5800.cpp">
<Filter>Sources</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<MskCompiler Include="..\src\ve\ve5100a.uml"> <MskCompiler Include="..\src\ve\ve5100a.uml">
@ -62,6 +65,9 @@
<MskCompiler Include="..\src\ve\ve5700.uml"> <MskCompiler Include="..\src\ve\ve5700.uml">
<Filter>Masks</Filter> <Filter>Masks</Filter>
</MskCompiler> </MskCompiler>
<MskCompiler Include="..\src\ve\ve5800a.uml">
<Filter>Masks</Filter>
</MskCompiler>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\src\ve\ve5.h"> <ClInclude Include="..\src\ve\ve5.h">
@ -85,6 +91,9 @@
<ClInclude Include="..\src\ve\ve5700.h"> <ClInclude Include="..\src\ve\ve5700.h">
<Filter>Headers</Filter> <Filter>Headers</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\src\ve\ve5800a.h">
<Filter>Headers</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="campo.rc" /> <ResourceCompile Include="campo.rc" />

View File

@ -473,6 +473,9 @@ void TMotore_application::do_elab( TDocumento& doc, int when) // C 90
case _contabilizzazione_analitica : case _contabilizzazione_analitica :
el = new TContabilizzazione_analitica(eld); el = new TContabilizzazione_analitica(eld);
break; break;
case _raggruppamento_documento:
el = new TRaggruppamento_documento(eld);
break;
default : default :
break; break;
} }

View File

@ -13,6 +13,7 @@ int main(int argc, char** argv)
case 4 : ve5500(argc, argv); break; // Compatta documenti case 4 : ve5500(argc, argv); break; // Compatta documenti
case 5 : ve5600(argc, argv); break; // recupero testate documenti case 5 : ve5600(argc, argv); break; // recupero testate documenti
case 6 : ve5700(argc, argv); break; // Cambiamento tipo documenti fp (TD01, ...) case 6 : ve5700(argc, argv); break; // Cambiamento tipo documenti fp (TD01, ...)
case 7 : ve5800(argc, argv); break; // Raggruppamento documenti
default: ve5100(argc, argv); break; // Cancella documenti default: ve5100(argc, argv); break; // Cancella documenti
} }
return 0; return 0;

View File

@ -8,6 +8,7 @@ int ve5400(int argc, char* argv[]);
int ve5500(int argc, char* argv[]); int ve5500(int argc, char* argv[]);
int ve5600(int argc, char* argv[]); int ve5600(int argc, char* argv[]);
int ve5700(int argc, char* argv[]); int ve5700(int argc, char* argv[]);
int ve5800(int argc, char* argv[]);
#endif #endif

109
src/ve/ve5800.cpp Normal file
View File

@ -0,0 +1,109 @@
#include "ve5.h"
#include "velib.h"
#include "ve5800a.h"
#include <applicat.h>
#include <automask.h>
#include <config.h>
#include <defmask.h>
#include <execp.h>
#include <incstr.h>
#include <golem.h>
#include <prefix.h>
#include <clifo.h>
#include <doc.h>
#include <rdoc.h>
#include "velib04.h"
#include "../mg/mglib.h"
///////////////////////////////////////////////////////////
// Maschera principale
///////////////////////////////////////////////////////////
class TRaggruppamento_documenti_mask : public TAutomask
{
protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TRaggruppamento_documenti_mask() : TAutomask("ve5800a") {}
virtual ~TRaggruppamento_documenti_mask() {}
};
bool TRaggruppamento_documenti_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
{
case DLG_SAVEREC:
if (e == fe_button)
stop_run(K_AUTO_ENTER);
break;
default:
break;
}
return TRUE;
}
///////////////////////////////////////////////////////////
// Applicazione principale
///////////////////////////////////////////////////////////
class TRaggruppamento_documenti : public TSkeleton_application
{
public:
void raggruppa_doc(const TMask & m);
virtual void main_loop();
};
void TRaggruppamento_documenti::raggruppa_doc(const TMask & m)
{
TRaggruppamento_documento ragg(m.get(F_CODICE_ELAB));
TLista_documenti doc_ingresso;
TLista_documenti doc_uscita;
TToken_string tipi_iniziali;
TToken_string stati_iniziali;
TString numerazione_iniziale = ragg.codice_numerazione_iniziale();
const int anno = m.get_int(F_ANNO);
const long dal_ndoc = m.get_long(F_FRNDOC);
const long al_ndoc = m.get_long(F_TONDOC);
ragg.tipi_stati_iniziali(tipi_iniziali, stati_iniziali);
if (doc_ingresso.read('D', ' ', 0L, anno, tipi_iniziali, stati_iniziali,
nulldate, nulldate, numerazione_iniziale, dal_ndoc, al_ndoc) > 0)
{
if (ragg.elabora(doc_ingresso, doc_uscita, today))
{
if (doc_uscita.write(true) == NOERR)
{
if (doc_ingresso.rewrite() != NOERR)
fatal_box(TR("Errore nella scrittura documenti d'ingresso"));
}
else
fatal_box(TR("Errore nella scrittura documenti di destinazione"));
}
}
}
void TRaggruppamento_documenti::main_loop()
{
open_files(LF_TAB, LF_TABCOM, LF_DOC, LF_RIGHEDOC, LF_MOVMAG, NULL);
open_files(LF_ANAMAG, LF_CLIFO, LF_CFVEN, LF_OCCAS, LF_RMOVMAG, NULL);
TRaggruppamento_documenti_mask m;
m.set(F_CODDITTA, prefix().get_codditta(), true);
while (m.run()==K_ENTER)
raggruppa_doc(m);
}
int ve5800(int argc, char** argv)
{
TRaggruppamento_documenti app;
app.run(argc, argv, TR("Raggruppamento documenti"));
return 0;
}

8
src/ve/ve5800a.h Normal file
View File

@ -0,0 +1,8 @@
#define F_CODICE_ELAB 101
#define F_DESC_ELAB 102
#define F_ANNO 103
#define F_TIPI_DOC 104
#define F_FRNDOC 105
#define F_TONDOC 106
#define F_CODDITTA 107
#define F_RAGSOCDITTA 108

101
src/ve/ve5800a.uml Normal file
View File

@ -0,0 +1,101 @@
#include "ve5800a.h"
TOOLBAR "topbar" 0 0 0 2
#include <stdbar.h>
ENDPAGE
PAGE "Copia Documenti" 0 0 0 0
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 1 "@bDitta"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 2 2 "Codice "
FLAGS "FD"
USE LF_NDITTE
CHECKTYPE NORMAL
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGSOCDITTA RAGSOC
END
STRING F_RAGSOCDITTA 50
BEGIN
PROMPT 17 2 "Ragione "
FLAGS "D"
END
GROUPBOX DLG_NULL 76 5
BEGIN
PROMPT 1 4 "@bDocumenti sorgente"
END
STRING F_CODICE_ELAB 8
BEGIN
PROMPT 2 5 "Codice "
FLAG "U"
USE %ELD SELECT I0 == 8
INPUT CODTAB F_CODICE_ELAB
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@55" S0
OUTPUT F_CODICE_ELAB CODTAB
OUTPUT F_DESC_ELAB S0
CHECKTYPE REQUIRED
WARNING "E' necessario specificare il codice elaborazione"
END
STRING F_DESC_ELAB 50
BEGIN
PROMPT 20 5 ""
USE %ELD KEY 2 SELECT I0 == 8
INPUT S0 F_DESC_ELAB
DISPLAY "Descrizione@55" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT F_CODICE_ELAB
END
NUMBER F_ANNO 4
BEGIN
PROMPT 2 6 "Anno "
FLAGS "AU"
CHECKTYPE REQUIRED
END
NUMBER F_FRNDOC 6
BEGIN
PROMPT 2 7 "Da numero "
USE LF_DOC
JOIN LF_CLIFO INTO TIPOCF==TIPOCF CODCF==CODCF
INPUT ANNO F_ANNO SELECT
INPUT CODNUM "F01"
INPUT PROVV "D"
INPUT NDOC F_FRNDOC
DISPLAY "Num." CODNUM
DISPLAY "Anno" ANNO
DISPLAY "Provv" PROVV
DISPLAY "Tipo" TIPODOC
DISPLAY "Numero@7" NDOC
DISPLAY "Data@10" DATADOC
DISPLAY "C/F" TIPOCF
DISPLAY "Codice" CODCF
DISPLAY "Ragione Sociale@50" LF_CLIFO->RAGSOC
OUTPUT F_FRNDOC NDOC
END
NUMBER F_TONDOC 6
BEGIN
PROMPT 26 7 "A numero "
COPY USE F_FRNDOC
INPUT ANNO F_ANNO SELECT
INPUT CODNUM "F01"
INPUT PROVV "D"
INPUT NDOC F_TONDOC
COPY DISPLAY F_FRNDOC
OUTPUT F_TONDOC NDOC
END
ENDPAGE
ENDMASK

View File

@ -55,22 +55,25 @@ int TLista_documenti::read(char provv, char tipocf, long clifo, int anno,
const char* codnum, long dn, long an) const char* codnum, long dn, long an)
{ {
CHECK(provv == 'D' || provv == 'P', "Provvisorio o Definitivo?"); CHECK(provv == 'D' || provv == 'P', "Provvisorio o Definitivo?");
CHECK(tipocf == 'C' || tipocf == 'F', "Il tipo deve essere Cliente o Fornitore"); CHECK(tipocf == 'C' || tipocf == 'F' || tipocf == ' ', "Il tipo deve essere Cliente o Fornitore o Entrambi");
CHECKD(clifo > 0L, "Codice cliente non valido", clifo); CHECKD(tipocf == ' ' || clifo > 0L, "Codice cliente non valido", clifo);
CHECKD(anno > 2000, "Anno non valido: ", anno); CHECKD(anno > 2000, "Anno non valido: ", anno);
CHECK(!tipidoc.empty_items(), "Lista dei tipi documento vuota"); CHECK(!tipidoc.empty_items(), "Lista dei tipi documento vuota");
CHECK(!statidoc.empty_items(), "Lista degli stati documento vuota"); CHECK(!statidoc.empty_items(), "Lista degli stati documento vuota");
const int key = (tipocf == ' ' && clifo == 0L) ? 1:2;
TRelation doc(LF_DOC); TRelation doc(LF_DOC);
TRectype start(LF_DOC), stop(LF_DOC); TRectype start(LF_DOC), stop(LF_DOC);
int anno_start, anno_stop; int anno_start, anno_stop;
start.put(DOC_TIPOCF, tipocf); if (key == 2)
stop.put(DOC_TIPOCF, tipocf); {
start.put(DOC_TIPOCF, tipocf);
start.put(DOC_CODCF, clifo); stop.put(DOC_TIPOCF, tipocf);
stop.put(DOC_CODCF, clifo);
start.put(DOC_CODCF, clifo);
stop.put(DOC_CODCF, clifo);
}
start.put(DOC_PROVV, provv); start.put(DOC_PROVV, provv);
stop.put(DOC_PROVV, provv); stop.put(DOC_PROVV, provv);
@ -132,7 +135,7 @@ int TLista_documenti::read(char provv, char tipocf, long clifo, int anno,
filter << DOC_CODNUM << "=\"" << codnum << '"'; filter << DOC_CODNUM << "=\"" << codnum << '"';
} }
TCursor cur(&doc, filter, 2, &start, &stop); TCursor cur(&doc, filter, key, &start, &stop);
const TRectype& head = cur.curr(); const TRectype& head = cur.curr();
_documenti.destroy(); _documenti.destroy();
@ -823,3 +826,81 @@ bool TCopia_documento::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
return true; return true;
} }
///////////////////////////////////////////////////////////
// TRaggruppamento_documento
///////////////////////////////////////////////////////////
TRaggruppamento_documento::TRaggruppamento_documento(const char* cod)
: TElaborazione(cod)
{ }
bool TRaggruppamento_documento::raggruppabile(const TRiga_documento & rin, const TRiga_documento & rout) const
{
bool ok = true;
TToken_string campi= RDOC_TIPORIGA "|" RDOC_CODIVA;
TString campo;
for (const char* c = campi.get(0); c && ok; c = campi.get())
{
campo = rin.get(c);
ok &= campo == rout.get(c);
}
return ok;
}
bool TRaggruppamento_documento::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
const TDate& data_elab, bool interattivo)
{
pre_process_input(doc_in);
const TString4 codnum = codice_numerazione_finale();
for (int d = 0; d < doc_in.items(); d++)
{
TDocumento& doc_src = doc_in[d];
doc_out.add(new TDocumento('D', doc_src.get_int(DOC_ANNO), codnum, doc_src.get_long(DOC_NDOC)));
TDocumento& doc_dest = doc_out[d];
TDocumento::copy_data(doc_dest,doc_src);
if (interattivo)
doc_dest.put(DOC_TIPODOC, doc_src.get(DOC_TIPODOC) );
if (doc_dest.physical_rows() > 0)
doc_dest.destroy_rows();
FOR_EACH_PHYSICAL_RDOC(doc_src, nr_input, rin) // ... cerca una riga compatibile
{
bool found = false;
if (!rin->sola_descrizione())
{
FOR_EACH_PHYSICAL_RDOC(doc_dest, nr_output, rout)
{
if (raggruppabile(*rin, *rout))
{
rout->add(RDOC_PREZZO,rin->get_real(RDOC_PREZZO));
found = true;
break;
}
}
}
if (!found)
{
TRiga_documento & row = doc_dest.new_row(); // ... crea una riga nuova e
TDocumento::copy_data(row, *rin);
}
}
const TString & stato = stato_finale();
doc_dest.put(DOC_STATO, stato);
doc_src.put(DOC_STATO, stato_finale_doc_iniziale());
}
post_process_input(doc_in);
post_process(doc_out, doc_in);
return true;
}

View File

@ -139,7 +139,7 @@ public:
enum TTipo_elaborazione { _esterna, _consegna_ordini, _fatturazione_bolle, enum TTipo_elaborazione { _esterna, _consegna_ordini, _fatturazione_bolle,
_contabilizzazione, _copia_documento, _contabilizzazione, _copia_documento,
_generazione_effetti, _consuntivazione_produzione, _generazione_effetti, _consuntivazione_produzione,
_contabilizzazione_analitica }; _contabilizzazione_analitica, _raggruppamento_documento };
class TParametri_elaborazione : public TObject // velib04 class TParametri_elaborazione : public TObject // velib04
{ {
@ -665,4 +665,16 @@ public:
virtual ~TContabilizzazione_analitica(); virtual ~TContabilizzazione_analitica();
}; };
class TRaggruppamento_documento : public TElaborazione // velib04
{
public:
bool raggruppabile(const TRiga_documento & rin, const TRiga_documento & rout) const;
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
const TDate& data_elab, bool interattivo = false);
TRaggruppamento_documento(const char* cod);
TRaggruppamento_documento(const TRectype& rec) : TElaborazione(rec) { }
virtual ~TRaggruppamento_documento() { }
};
#endif #endif

View File

@ -2477,6 +2477,9 @@ void TLista_elaborazioni::read()
case _contabilizzazione_analitica : case _contabilizzazione_analitica :
el = new TContabilizzazione_analitica(eld.curr()); el = new TContabilizzazione_analitica(eld.curr());
break; break;
case _raggruppamento_documento:
el = new TRaggruppamento_documento(eld.curr());
break;
default : default :
break; break;
} }

View File

@ -20,6 +20,7 @@ Item_01 = "Fatturazione bolle", "ve6 -2", "F"
Item_02 = "Contabilizzazione fatture", "ve6 -1", "F" Item_02 = "Contabilizzazione fatture", "ve6 -1", "F"
Item_03 = "Generazione effetti", "ve6 -3", "F" Item_03 = "Generazione effetti", "ve6 -3", "F"
Item_04 = "Contabilizzazione analitica", "ve6 -8", "F" Item_04 = "Contabilizzazione analitica", "ve6 -8", "F"
Item_05 = "Raggruppamento documenti per riga", "ve5 -7", "F"
[VEMENU_051] [VEMENU_051]
Caption = "Servizi" Caption = "Servizi"

View File

@ -49,21 +49,23 @@ LIST F_TIPO 50
BEGIN BEGIN
PROMPT 2 3 "Tipo " PROMPT 2 3 "Tipo "
ITEM " |Esterna" ITEM " |Esterna"
MESSAGE HIDE,1@|HIDE,2@|HIDE,3@|HIDE,4@|HIDE,5@|SHOW,9@|SHOW,F_KILLDESC MESSAGE SHOW,10@|HIDE,1@|HIDE,2@|HIDE,3@|HIDE,4@|HIDE,5@|SHOW,9@|SHOW,F_KILLDESC
ITEM "1|Consegna Ordini" ITEM "1|Consegna Ordini"
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@|HIDE,4@|HIDE,5@|HIDE,9@|SHOW,F_KILLDESC MESSAGE SHOW,10@|SHOW,1@|HIDE,2@|HIDE,3@|HIDE,4@|HIDE,5@|HIDE,9@|SHOW,F_KILLDESC
ITEM "2|Fatturazione bolle" ITEM "2|Fatturazione bolle"
MESSAGE HIDE,1@|SHOW,2@|HIDE,3@|HIDE,4@|HIDE,5@|HIDE,9@|SHOW,F_KILLDESC MESSAGE SHOW,10@|HIDE,1@|SHOW,2@|HIDE,3@|HIDE,4@|HIDE,5@|HIDE,9@|SHOW,F_KILLDESC
ITEM "3|Trasferimento a contabilità" ITEM "3|Trasferimento a contabilità"
MESSAGE HIDE,1@|HIDE,2@|SHOW,3@|HIDE,4@|HIDE,5@|SHOW,9@|HIDE,F_KILLDESC MESSAGE SHOW,10@|HIDE,1@|HIDE,2@|SHOW,3@|HIDE,4@|HIDE,5@|SHOW,9@|HIDE,F_KILLDESC
ITEM "4|Copia documento" ITEM "4|Copia documento"
MESSAGE HIDE,1@|HIDE,2@|HIDE,3@|SHOW,4@|HIDE,5@|HIDE,9@|HIDE,F_KILLDESC MESSAGE SHOW,10@|HIDE,1@|HIDE,2@|HIDE,3@|SHOW,4@|HIDE,5@|HIDE,9@|HIDE,F_KILLDESC
ITEM "5|Generazione effetti" ITEM "5|Generazione effetti"
MESSAGE HIDE,1@|HIDE,2@|HIDE,3@|HIDE,4@|SHOW,5@|HIDE,9@|HIDE,F_KILLDESC MESSAGE SHOW,10@|HIDE,1@|HIDE,2@|HIDE,3@|HIDE,4@|SHOW,5@|HIDE,9@|HIDE,F_KILLDESC
ITEM "6|Consuntivazione produzione" ITEM "6|Consuntivazione produzione"
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@|HIDE,4@|HIDE,5@|HIDE,9@|SHOW,F_KILLDESC MESSAGE SHOW,10@|SHOW,1@|HIDE,2@|HIDE,3@|HIDE,4@|HIDE,5@|HIDE,9@|SHOW,F_KILLDESC
ITEM "7|Trasferimento a contabilità analitica" ITEM "7|Trasferimento a contabilità analitica"
MESSAGE HIDE,1@|HIDE,2@|SHOW,3@|HIDE,4@|HIDE,5@|SHOW,9@|HIDE,F_KILLDESC MESSAGE SHOW,10@|HIDE,1@|HIDE,2@|SHOW,3@|HIDE,4@|HIDE,5@|SHOW,9@|HIDE,F_KILLDESC
ITEM "8|Raggruppamento documento"
MESSAGE HIDE,10@|HIDE,1@|HIDE,2@|HIDE,3@|SHOW,4@|HIDE,5@|HIDE,9@|HIDE,F_KILLDESC
FIELD I0 FIELD I0
END END
@ -581,96 +583,112 @@ GROUPBOX DLG_NULL 78 8
BEGIN BEGIN
PROMPT 1 1 "@bCondizioni per raggruppamento documenti" PROMPT 1 1 "@bCondizioni per raggruppamento documenti"
FLAG "R" FLAG "R"
GROUP 10
END END
BOOLEAN F_CAMBIO BOOLEAN F_CAMBIO
BEGIN BEGIN
PROMPT 2 2 "Cambio" PROMPT 2 2 "Cambio"
FIELD S1[1,1] FIELD S1[1,1]
GROUP 10
END END
BOOLEAN F_SCONTO BOOLEAN F_SCONTO
BEGIN BEGIN
PROMPT 2 3 "Sconto" PROMPT 2 3 "Sconto"
FIELD S1[2,2] FIELD S1[2,2]
GROUP 10
END END
BOOLEAN F_TIPODOC BOOLEAN F_TIPODOC
BEGIN BEGIN
PROMP 2 4 "Tipo documento" PROMP 2 4 "Tipo documento"
FIELD S1[3,3] FIELD S1[3,3]
GROUP 10
END END
BOOLEAN F_CODNUM BOOLEAN F_CODNUM
BEGIN BEGIN
PROMP 2 5 "Codice numerazione" PROMP 2 5 "Codice numerazione"
FIELD S1[4,4] FIELD S1[4,4]
GROUP 10
END END
BOOLEAN F_SPEDIZIONE BOOLEAN F_SPEDIZIONE
BEGIN BEGIN
PROMPT 2 6 "Modalità di spedizione" PROMPT 2 6 "Modalità di spedizione"
FIELD S1[9,9] FIELD S1[9,9]
GROUP 10
END END
BOOLEAN F_PORTO BOOLEAN F_PORTO
BEGIN BEGIN
PROMPT 2 7 "Porto" PROMPT 2 7 "Porto"
FIELD S1[10,10] FIELD S1[10,10]
GROUP 10
END END
BOOLEAN F_CONDPAG BOOLEAN F_CONDPAG
BEGIN BEGIN
PROMP 28 2 "Condizione di pagamento" PROMP 28 2 "Condizione di pagamento"
FIELD S1[5,5] FIELD S1[5,5]
GROUP 10
END END
BOOLEAN F_BANCA BOOLEAN F_BANCA
BEGIN BEGIN
PROMPT 28 3 "Banca di appoggio" PROMPT 28 3 "Banca di appoggio"
FIELD S1[6,6] FIELD S1[6,6]
GROUP 10
END END
BOOLEAN F_LISTINO BOOLEAN F_LISTINO
BEGIN BEGIN
PROMPT 28 4 "Listino" PROMPT 28 4 "Listino"
FIELD S1[7,7] FIELD S1[7,7]
GROUP 10
END END
BOOLEAN F_AGENTE BOOLEAN F_AGENTE
BEGIN BEGIN
PROMP 28 5 "Agente" PROMP 28 5 "Agente"
FIELD S1[8,8] FIELD S1[8,8]
GROUP 10
END END
BOOLEAN F_TRASPORTO BOOLEAN F_TRASPORTO
BEGIN BEGIN
PROMPT 28 6 "Causale di trasporto" PROMPT 28 6 "Causale di trasporto"
FIELD S1[11,11] FIELD S1[11,11]
GROUP 10
END END
BOOLEAN F_VETTORI BOOLEAN F_VETTORI
BEGIN BEGIN
PROMPT 28 7 "Vettori" PROMPT 28 7 "Vettori"
FIELD S1[12,12] FIELD S1[12,12]
GROUP 10
END END
BOOLEAN F_DESTINAZIONE BOOLEAN F_DESTINAZIONE
BEGIN BEGIN
PROMPT 56 2 "Destinazione" PROMPT 56 2 "Destinazione"
FIELD S1[13,13] FIELD S1[13,13]
GROUP 10
END END
BOOLEAN F_COMMESSA BOOLEAN F_COMMESSA
BEGIN BEGIN
PROMPT 56 3 "Commessa" PROMPT 56 3 "Commessa"
FIELD S1[14,14] FIELD S1[14,14]
GROUP 10
END END
GROUPBOX DLG_NULL 78 5 GROUPBOX DLG_NULL 78 5
BEGIN BEGIN
PROMPT 1 9 "@bModalità di raggruppamento delle righe" PROMPT 1 9 "@bModalità di raggruppamento delle righe"
FLAG "R" FLAG "R"
GROUP 10
END END
BOOLEAN F_SOMMA_RIGHE BOOLEAN F_SOMMA_RIGHE
@ -679,24 +697,28 @@ BEGIN
MESSAGE FALSE ENABLE,F_RIFERIMENTI_IN_TESTA|ENABLE,F_GROUP_BY_REF MESSAGE FALSE ENABLE,F_RIFERIMENTI_IN_TESTA|ENABLE,F_GROUP_BY_REF
MESSAGE TRUE DISABLE,F_RIFERIMENTI_IN_TESTA|"X",F_RIFERIMENTI_IN_TESTA|CLEAR,F_GROUP_BY_REF MESSAGE TRUE DISABLE,F_RIFERIMENTI_IN_TESTA|"X",F_RIFERIMENTI_IN_TESTA|CLEAR,F_GROUP_BY_REF
FIELD B0 FIELD B0
GROUP 10
END END
BOOLEAN F_MAGAZZINO BOOLEAN F_MAGAZZINO
BEGIN BEGIN
PROMPT 2 11 "Magazzino" PROMPT 2 11 "Magazzino"
FIELD S1[41,41] FIELD S1[41,41]
GROUP 10
END END
BOOLEAN F_IVA BOOLEAN F_IVA
BEGIN BEGIN
PROMPT 28 11 "Codice IVA" PROMPT 28 11 "Codice IVA"
FIELD S1[42,42] FIELD S1[42,42]
GROUP 10
END END
BOOLEAN F_PREZZO BOOLEAN F_PREZZO
BEGIN BEGIN
PROMPT 2 12 "Prezzo e Sconto" PROMPT 2 12 "Prezzo e Sconto"
FIELD S1[43,43] FIELD S1[43,43]
GROUP 10
END END
BOOLEAN F_PREZZO_DA_ORDINE BOOLEAN F_PREZZO_DA_ORDINE
@ -704,7 +726,7 @@ BEGIN
PROMPT 28 12 "Ricava prezzo e sconto da ordine" PROMPT 28 12 "Ricava prezzo e sconto da ordine"
FIELD B5 FIELD B5
FLAGS "H" FLAGS "H"
GROUP 2 GROUP 2 10
END END
BOOLEAN F_AGGIORNA_PREZZO BOOLEAN F_AGGIORNA_PREZZO
@ -712,42 +734,48 @@ BEGIN
PROMPT 28 12 "Aggiorna prezzi" PROMPT 28 12 "Aggiorna prezzi"
FIELD B5 FIELD B5
FLAGS "H" FLAGS "H"
GROUP 1 GROUP 1 10
END END
GROUPBOX DLG_NULL 78 6 GROUPBOX DLG_NULL 78 6
BEGIN BEGIN
PROMPT 1 14 "@bGestione descrizioni" PROMPT 1 14 "@bGestione descrizioni"
GROUP 10
END END
BOOLEAN F_RIFERIMENTI BOOLEAN F_RIFERIMENTI
BEGIN BEGIN
PROMPT 2 15 "Gestione riferimenti" PROMPT 2 15 "Gestione riferimenti"
FIELD B1 FIELD B1
GROUP 10
END END
BOOLEAN F_RIFERIMENTI_IN_TESTA BOOLEAN F_RIFERIMENTI_IN_TESTA
BEGIN BEGIN
PROMPT 42 15 "Tutti i riferimenti in testa" PROMPT 42 15 "Tutti i riferimenti in testa"
FIELD B2 FIELD B2
GROUP 10
END END
BOOLEAN F_IGNORA_DESCRIZIONI BOOLEAN F_IGNORA_DESCRIZIONI
BEGIN BEGIN
PROMPT 2 16 "Ignora righe con solo descrizione" PROMPT 2 16 "Ignora righe con solo descrizione"
FIELD B3 FIELD B3
GROUP 10
END END
BOOLEAN F_PACKRIF BOOLEAN F_PACKRIF
BEGIN BEGIN
PROMPT 42 16 "Rif.sintetici" PROMPT 42 16 "Rif.sintetici"
FIELD B15 FIELD B15
GROUP 10
END END
BOOLEAN F_USA_DOCRIF BOOLEAN F_USA_DOCRIF
BEGIN BEGIN
PROMPT 2 17 "Usa documento di riferimento in descrizione rif." PROMPT 2 17 "Usa documento di riferimento in descrizione rif."
FIELD B8 FIELD B8
GROUP 10
END END
LISTBOX F_SPALMA 1 2 LISTBOX F_SPALMA 1 2
@ -756,7 +784,7 @@ BEGIN
ITEM " |No" ITEM " |No"
ITEM "1|Si" ITEM "1|Si"
FIELD I2 FIELD I2
GROUP 3 9 GROUP 3 9 10
END END
LISTBOX F_GROUP_BY_REF 1 2 LISTBOX F_GROUP_BY_REF 1 2
@ -765,7 +793,7 @@ BEGIN
ITEM " |Si" ITEM " |Si"
ITEM "1|No" ITEM "1|No"
FIELD I3 FIELD I3
GROUP 1 GROUP 1 10
END END
@ -779,6 +807,7 @@ BEGIN
OUTPUT F_RIF_DOCIN CODTAB OUTPUT F_RIF_DOCIN CODTAB
CHECKTYPE NORMAL CHECKTYPE NORMAL
FIELD S11 FIELD S11
GROUP 10
END END
NUMBER F_COLONNE_CO 1 NUMBER F_COLONNE_CO 1
@ -790,7 +819,7 @@ BEGIN
ITEM "2|Residuo|Da evadere" ITEM "2|Residuo|Da evadere"
INPUT F_COLONNE_CO INPUT F_COLONNE_CO
OUTPUT F_COLONNE_CO OUTPUT F_COLONNE_CO
GROUP 1 GROUP 1 10
FIELD I1 FIELD I1
END END