Patch level : 10.0

Files correlati     : db1.exe db1100a.msk
Ricompilazione Demo : [ ]
Commento            :


git-svn-id: svn://10.65.10.50/branches/R_10_00@22597 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2012-03-06 13:41:51 +00:00
parent 1c9da32851
commit 76de617a65
3 changed files with 116 additions and 51 deletions

View File

@ -14,11 +14,9 @@
#include "../cg/cglib01.h" #include "../cg/cglib01.h"
#include "../mg/mglib.h" #include "../mg/mglib.h"
#include "../ve/velib.h" #include "../ve/velib.h"
#include "rdist.h"
#include "dblib.h" #include "dblib.h"
#include <doc.h>
#include <rdoc.h> #include "dist.h"
#include "../mg/anamag.h" #include "../mg/anamag.h"
#include "db1100a.h" #include "db1100a.h"
@ -1701,15 +1699,14 @@ void TEsplosione_distinta_app::compile_list()
c.setregion(from,to); c.setregion(from,to);
const bool null_sel = _parameters._from_num.empty() || _parameters._to_num.empty(); const bool null_sel = _parameters._from_num.empty() || _parameters._to_num.empty();
const long items = null_sel ? 0L : c.items(); const long items = null_sel ? 0L : c.items();
TSheet_field& sa = (TSheet_field&) _mask->field(F_SHEETART);
const int righe = sa.items();
TProgind p(items+righe,TR("Estrazione distinte da esplodere..."), TRUE, TRUE); if (items > 0)
{
TProgind p(items,TR("Estrazione distinte da esplodere da documenti..."));
c.freeze(); c.freeze();
for (c = 0L; c.pos() < items; ++c) for (c = 0L; c.pos() < items; ++c)
{ {
p.addstatus(1); if (!p.addstatus(1))
if (p.iscancelled())
break; break;
if (doc.read(c.curr()) == NOERR) if (doc.read(c.curr()) == NOERR)
{ {
@ -1739,11 +1736,53 @@ void TEsplosione_distinta_app::compile_list()
} }
} }
} }
}
if (_mask->get(F_DADIST).full() || _mask->get(F_ADIST).full())
{
TISAM_recordset dist("USE DIST\nFROM CODDIST=#DADIST\nTO CODDIST=#ADIST");
dist.set_var("#DADIST", _mask->get(F_DADIST));
dist.set_var("#ADIST", _mask->get(F_ADIST));
TProgind p(dist.items(), TR("Estrazione distinte..."));
TToken_string row;
for (bool ok = dist.move_first(); ok; ok = dist.move_next())
{
if (!p.addstatus(1))
break;
row = dist.get(DIST_CODDIST).as_string();
row.add(dist.get(DIST_UM).as_string(), 9);
row.add(1);
row.add(TDate(TODAY));
TDist2Explode* de = new TDist2Explode;
de->set(row, *_mask);
key = de->key();
const bool is_key = _dist_list.is_key(key);
if (is_key)
{
TDist2Explode * dd = (TDist2Explode*)_dist_list.objptr(key);
// Check 2 see whether we've 2 convert in base UM...
if (de->acqven()) // Se acquisto sottrae...
de->qta() = dd->qta() - de->qta();
else
de->qta() += dd->qta(); // altrimenti aggiunge
}
_dist_list.add(key, de, TRUE);
}
}
// Aggiunge le righe dallo spreadsheet // Aggiunge le righe dallo spreadsheet
TSheet_field& sa = _mask->sfield(F_SHEETART);
const int righe = sa.items();
if (righe > 0)
{
TProgind p(righe,TR("Estrazione distinte da esplodere..."));
for (int i = 0; i < righe; i++) for (int i = 0; i < righe; i++)
{ {
p.addstatus(1L); if (!p.addstatus(1L))
break;
if (!sa.row(i).empty_items()) if (!sa.row(i).empty_items())
{ {
TDist2Explode * de = new TDist2Explode; TDist2Explode * de = new TDist2Explode;
@ -1763,6 +1802,7 @@ void TEsplosione_distinta_app::compile_list()
} }
} }
} }
}
void TEsplosione_distinta_app::compile_numeration_list() void TEsplosione_distinta_app::compile_numeration_list()
{ {

View File

@ -51,6 +51,8 @@
#define F_DESCLIN 149 #define F_DESCLIN 149
#define F_SORTFOR 150 #define F_SORTFOR 150
#define F_ADVANCED_EXPL 151 #define F_ADVANCED_EXPL 151
#define F_DADIST 152
#define F_ADIST 153
#define F_CODDIS 101 #define F_CODDIS 101
#define F_LIV1 102 #define F_LIV1 102

View File

@ -270,20 +270,20 @@ LIST F_GROUPMODE 1 53
BEGIN BEGIN
PROMPT 2 18 "Raggruppa " PROMPT 2 18 "Raggruppa "
ITEM "0|Nessun raggruppamento" ITEM "0|Nessun raggruppamento"
ITEM "1|Raggruppa per unita' di misura" ITEM "1|Raggruppa per unità di misura"
ITEM "2|Converti nell'unita' principale" ITEM "2|Converti nell'unità principale"
ITEM "3|Raggruppa all'unita' di misura principale" ITEM "3|Raggruppa all'unità di misura principale"
ITEM "4|Converti nell'unita' di misura di distinta" ITEM "4|Converti nell'unità di misura di distinta"
ITEM "5|Raggruppa all'unita' di misura di distinta" ITEM "5|Raggruppa all'unità di misura di distinta"
END END
ENDPAGE ENDPAGE
PAGE "Disponibilita'" -1 -1 78 20 PAGE "Disponibilità" -1 -1 78 20
BOOLEAN F_FABBISOGNO BOOLEAN F_FABBISOGNO
BEGIN BEGIN
PROMPT 2 1 "Calcola disponibilita'" PROMPT 2 1 "Calcola disponibilità"
MESSAGE TRUE ENABLE,G_DISPONIB@ MESSAGE TRUE ENABLE,G_DISPONIB@
MESSAGE FALSE CLEAR,G_DISPONIB@ MESSAGE FALSE CLEAR,G_DISPONIB@
END END
@ -360,7 +360,7 @@ LISTBOX F_VALORIZZAZIONE 32
BEGIN BEGIN
PROMPT 1 12 "" PROMPT 1 12 ""
ITEM "0|Non valorizzare" ITEM "0|Non valorizzare"
MESSAGE HIDE,G_LISTINO@|CLEAR,F_ADVANCED_EXPL MESSAGE HIDE,G_LISTINO@|ENABLE,F_ADVANCED_EXPL
ITEM "1|Valorizza Ultimo costo" ITEM "1|Valorizza Ultimo costo"
MESSAGE HIDE,G_LISTINO@|ENABLE,F_ADVANCED_EXPL MESSAGE HIDE,G_LISTINO@|ENABLE,F_ADVANCED_EXPL
ITEM "2|Valorizza Costo medio" ITEM "2|Valorizza Costo medio"
@ -385,7 +385,7 @@ END
BOOLEAN F_ADVANCED_EXPL BOOLEAN F_ADVANCED_EXPL
BEGIN BEGIN
PROMPT 38 12 "Dettagliata " PROMPT 38 12 "Non Dett.Articoli d'acquisto"
END END
STRING F_CODLIST 3 STRING F_CODLIST 3
@ -418,9 +418,10 @@ BEGIN
OUTPUT F_CATVEN_LIST CODTAB OUTPUT F_CATVEN_LIST CODTAB
GROUP G_LISTINO GROUP G_LISTINO
END END
GROUPBOX DLG_NULL 50 6 GROUPBOX DLG_NULL 50 6
BEGIN BEGIN
PROMPT 2 13 "Disponibilita' & Valorizzazione" PROMPT 2 13 "Disponibilità & Valorizzazione"
END END
STRING F_SLMAG 3 STRING F_SLMAG 3
@ -513,6 +514,28 @@ ENDPAGE
PAGE "Articoli" -1 -1 78 20 PAGE "Articoli" -1 -1 78 20
STRING F_DADIST 20
BEGIN
PROMPT 1 1 "Esplosione dalla distinta "
USE LF_DIST
INPUT CODDIST F_DADIST
DISPLAY "Codice@20" CODDIST
DISPLAY "Descrizione@50" DESCR
DISPLAY "UM" UM
OUTPUT F_DADIST CODDIST
CHECKTYPE NORMAL
END
STRING F_ADIST 20
BEGIN
PROMPT 51 1 "alla "
COPY USE F_DADIST
INPUT CODDIST F_ADIST
COPY DISPLAY F_DADIST
OUTPUT F_ADIST CODDIST
CHECKTYPE NORMAL
END
SPREADSHEET F_SHEETART SPREADSHEET F_SHEETART
BEGIN BEGIN
PROMPT 2 2 "" PROMPT 2 2 ""
@ -666,12 +689,12 @@ END
STRING F_UMEXPR 2 STRING F_UMEXPR 2
BEGIN BEGIN
PROMPT 2 8 "Unita' di misura " PROMPT 2 8 "Unità di misura "
USE LF_UMART KEY 2 SELECT CODART==#F_CODDIS USE LF_UMART KEY 2 SELECT CODART==#F_CODDIS
JOIN LF_ANAMAG INTO CODART==CODART JOIN LF_ANAMAG INTO CODART==CODART
INPUT CODART F_CODDIS SELECT INPUT CODART F_CODDIS SELECT
INPUT UM F_UMEXPR INPUT UM F_UMEXPR
DISPLAY "Unita'" UM DISPLAY "Unità" UM
DISPLAY "Articolo@20" CODART DISPLAY "Articolo@20" CODART
DISPLAY "Descrizione Articolo@50" LF_ANAMAG->DESCR DISPLAY "Descrizione Articolo@50" LF_ANAMAG->DESCR
OUTPUT F_UMEXPR UM OUTPUT F_UMEXPR UM
@ -682,7 +705,7 @@ END
NUMBER F_QTA 12 5 NUMBER F_QTA 12 5
BEGIN BEGIN
PROMPT 2 9 "Quantita' " PROMPT 2 9 "Quantità "
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END