Correzioni a gestione distinte in modo da non bloccarsi su distinte non generate da questo programma
git-svn-id: svn://10.65.10.50/branches/R_10_00@22656 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
896b7a6552
commit
e361f0becd
@ -11,13 +11,23 @@ BEGIN
|
|||||||
PROMPT 0 0 ""
|
PROMPT 0 0 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
|
LIST F_TIPOCF 10
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "Tipo effetto "
|
||||||
|
ITEM "C|Attivo"
|
||||||
|
MESSAGE SHOW,8@|HIDE,9@
|
||||||
|
ITEM "F|Passivo"
|
||||||
|
MESSAGE HIDE,8@|SHOW,9@
|
||||||
|
FIELD TIPOCF
|
||||||
|
END
|
||||||
|
|
||||||
NUMBER F_NPROGTR 7
|
NUMBER F_NPROGTR 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 "Numero "
|
PROMPT 1 2 "Numero "
|
||||||
FIELD NPROGTR
|
FIELD NPROGTR
|
||||||
KEY 1
|
KEY 1
|
||||||
USE LF_EFFETTI KEY 1
|
USE LF_EFFETTI SELECT (TIPOCF=#F_TIPOCF)&&(BETWEEN(CODCF,#F_CODCF,#F_CODCF))
|
||||||
JOIN LF_CLIFO TO LF_EFFETTI KEY 1 INTO CODCF=CODCF TIPOCF=TIPOCF
|
JOIN LF_CLIFO INTO CODCF=CODCF TIPOCF=TIPOCF
|
||||||
INPUT NPROGTR F_NPROGTR
|
INPUT NPROGTR F_NPROGTR
|
||||||
DISPLAY "Nr.progr." NPROGTR
|
DISPLAY "Nr.progr." NPROGTR
|
||||||
DISPLAY "Tipo" TIPOCF
|
DISPLAY "Tipo" TIPOCF
|
||||||
@ -32,16 +42,6 @@ BEGIN
|
|||||||
MESSAGE COPY,10@
|
MESSAGE COPY,10@
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST F_TIPOCF 10
|
|
||||||
BEGIN
|
|
||||||
PROMPT 1 2 "Tipo effetto "
|
|
||||||
ITEM "C|Attivo"
|
|
||||||
MESSAGE SHOW,8@|HIDE,9@
|
|
||||||
ITEM "F|Passivo"
|
|
||||||
MESSAGE HIDE,8@|SHOW,9@
|
|
||||||
FIELD TIPOCF
|
|
||||||
END
|
|
||||||
|
|
||||||
TEXT DLG_NULL
|
TEXT DLG_NULL
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 3 "Cliente"
|
PROMPT 1 3 "Cliente"
|
||||||
@ -91,8 +91,8 @@ BEGIN
|
|||||||
PROMPT 1 4 "Data scadenza "
|
PROMPT 1 4 "Data scadenza "
|
||||||
FIELD DATASCAD
|
FIELD DATASCAD
|
||||||
KEY 3
|
KEY 3
|
||||||
USE LF_EFFETTI KEY 3
|
USE LF_EFFETTI KEY 3 SELECT (TIPOCF=#F_TIPOCF)&&(BETWEEN(CODCF, #F_CODCF, #F_CODCF))
|
||||||
JOIN LF_CLIFO TO LF_EFFETTI KEY 1 INTO CODCF=CODCF TIPOCF="C"
|
JOIN LF_CLIFO INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||||
INPUT DATASCAD F_DATASCAD
|
INPUT DATASCAD F_DATASCAD
|
||||||
INPUT NPROGTR F_NPROGTR
|
INPUT NPROGTR F_NPROGTR
|
||||||
DISPLAY "Data scadenza" DATASCAD
|
DISPLAY "Data scadenza" DATASCAD
|
||||||
@ -100,6 +100,7 @@ BEGIN
|
|||||||
DISPLAY "Codice cliente" CODCF
|
DISPLAY "Codice cliente" CODCF
|
||||||
DISPLAY "Nr. distinta" NDIST
|
DISPLAY "Nr. distinta" NDIST
|
||||||
DISPLAY "Tipo distinta" TIPODIST
|
DISPLAY "Tipo distinta" TIPODIST
|
||||||
|
DISPLAY "Ragione Sociale@50" LF_CLIFO->RAGSOC
|
||||||
COPY OUTPUT F_NPROGTR
|
COPY OUTPUT F_NPROGTR
|
||||||
OUTPUT F_DATASCAD DATASCAD
|
OUTPUT F_DATASCAD DATASCAD
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
#include <clifo.h>
|
#include <clifo.h>
|
||||||
#include <cfven.h>
|
#include <cfven.h>
|
||||||
#include <partite.h>
|
#include <doc.h>
|
||||||
#include <mov.h>
|
#include <mov.h>
|
||||||
#include <rmov.h>
|
#include <rmov.h>
|
||||||
#include "../cg/cgsaldac.h"
|
#include "../cg/cgsaldac.h"
|
||||||
@ -488,8 +488,45 @@ bool TPE_mask::fill_distinta(bool clear_all)
|
|||||||
for (int r = 1; r <= eff.rows_r(); r++)
|
for (int r = 1; r <= eff.rows_r(); r++)
|
||||||
{
|
{
|
||||||
const TRectype& reff = eff.row_r(r);
|
const TRectype& reff = eff.row_r(r);
|
||||||
const int anno = reff.get_int(REFF_ANNO);
|
int anno = reff.get_int(REFF_ANNO);
|
||||||
const TString16 part = reff.get(REFF_NUMPART);
|
TString8 part = reff.get(REFF_NUMPART);
|
||||||
|
|
||||||
|
if (anno <= 0 || part.blank())
|
||||||
|
{
|
||||||
|
TToken_string dockey;
|
||||||
|
dockey.add(reff.get(REFF_PROVV));
|
||||||
|
dockey.add(reff.get(REFF_ANNODOC));
|
||||||
|
dockey.add(reff.get(REFF_CODNUM));
|
||||||
|
dockey.add(reff.get(REFF_NFATT));
|
||||||
|
const long numreg = atol(cache().get(LF_DOC, dockey, DOC_NUMREG));
|
||||||
|
if (numreg > 0)
|
||||||
|
{
|
||||||
|
TPartite_array games;
|
||||||
|
if (games.add_numreg(numreg) == 1)
|
||||||
|
{
|
||||||
|
const TPartita* g = games.first();
|
||||||
|
const int nriga = g->prima_fattura(numreg);
|
||||||
|
if (nriga > 0)
|
||||||
|
{
|
||||||
|
TRectype& wreff = (TRectype&)reff;
|
||||||
|
wreff.put(REFF_ANNO, anno = g->anno());
|
||||||
|
wreff.put(REFF_NUMPART, part = g->numero());
|
||||||
|
wreff.put(REFF_NRIGA, nriga);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (anno <= 0)
|
||||||
|
{
|
||||||
|
warning_box(TR("La riga %d della distinta è priva di riferimenti al saldaconto"), e+1);
|
||||||
|
if (e == 0)
|
||||||
|
{
|
||||||
|
e = dist.items();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const int nriga = reff.get_int(REFF_NRIGA);
|
const int nriga = reff.get_int(REFF_NRIGA);
|
||||||
const int nrata = reff.get_int(REFF_NRATA);
|
const int nrata = reff.get_int(REFF_NRATA);
|
||||||
TPartita game(clifo, anno, part);
|
TPartita game(clifo, anno, part);
|
||||||
@ -883,12 +920,17 @@ bool TPE_mask::on_sheet_event(TOperable_field& o, TField_event e, long jolly)
|
|||||||
switch(e)
|
switch(e)
|
||||||
{
|
{
|
||||||
case se_query_add:
|
case se_query_add:
|
||||||
|
if (!field(F_UNCONTABIL).active()) // Non posso modificare distinte contabilizzate
|
||||||
{
|
{
|
||||||
TOperable_field& ronaldo = (TOperable_field&)field(F_AGGIORNA);
|
TOperable_field& ronaldo = (TOperable_field&)field(F_AGGIORNA);
|
||||||
if (ronaldo.active())
|
if (ronaldo.active())
|
||||||
on_field_event(ronaldo, fe_button, 0);
|
on_field_event(ronaldo, fe_button, 0);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
case se_query_modify:
|
||||||
|
if (field(F_UNCONTABIL).active()) // Non posso modificare distinte contabilizzate
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
case se_notify_modify:
|
case se_notify_modify:
|
||||||
_spork = true;
|
_spork = true;
|
||||||
update_total();
|
update_total();
|
||||||
@ -989,7 +1031,7 @@ bool TPE_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
|||||||
TEdit_field& numdist = efield(F_DIST);
|
TEdit_field& numdist = efield(F_DIST);
|
||||||
if (!numdist.empty())
|
if (!numdist.empty())
|
||||||
{
|
{
|
||||||
bool go = TRUE;
|
bool go = true;
|
||||||
if (!numdist.enabled() && sfield(F_SHEET).items() > 0)
|
if (!numdist.enabled() && sfield(F_SHEET).items() > 0)
|
||||||
{
|
{
|
||||||
go = check_fields();
|
go = check_fields();
|
||||||
@ -1057,7 +1099,7 @@ bool TPE_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
|||||||
if (movs.items() > 0)
|
if (movs.items() > 0)
|
||||||
{
|
{
|
||||||
TString msg;
|
TString msg;
|
||||||
msg = "E' necessario cancellare i seguenti movimenti contabili:\n";
|
msg = TR("E' necessario cancellare i seguenti movimenti contabili:\n");
|
||||||
FOR_EACH_ASSOC_OBJECT(movs, hash, key, obj)
|
FOR_EACH_ASSOC_OBJECT(movs, hash, key, obj)
|
||||||
msg << key << ' ';
|
msg << key << ' ';
|
||||||
warning_box(msg);
|
warning_box(msg);
|
||||||
@ -1067,7 +1109,7 @@ bool TPE_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DLG_DELREC:
|
case DLG_DELREC:
|
||||||
if (e == fe_button && yesno_box("Confermare l'eliminazione della distinta %ld",
|
if (e == fe_button && yesno_box(FR("Confermare l'eliminazione della distinta %ld"),
|
||||||
get_long(F_DIST)))
|
get_long(F_DIST)))
|
||||||
{
|
{
|
||||||
TSheet_field& sheet = sfield(F_SHEET);
|
TSheet_field& sheet = sfield(F_SHEET);
|
||||||
|
@ -312,11 +312,11 @@ END
|
|||||||
SPREADSHEET F_SHEET 0 -2
|
SPREADSHEET F_SHEET 0 -2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 12 ""
|
PROMPT 0 12 ""
|
||||||
ITEM "Importo@18"
|
ITEM "Importo@16"
|
||||||
ITEM "A/S@3"
|
ITEM "A/S@3"
|
||||||
ITEM "Data Pagamento"
|
ITEM "Data\nPagamento@10"
|
||||||
ITEM "Val.Ben."
|
ITEM "Val.\nBen.@3"
|
||||||
ITEM "Residuo@18"
|
ITEM "Residuo@16"
|
||||||
ITEM "Codice"
|
ITEM "Codice"
|
||||||
ITEM "Ragione Sociale@20"
|
ITEM "Ragione Sociale@20"
|
||||||
ITEM "Anno"
|
ITEM "Anno"
|
||||||
@ -447,7 +447,7 @@ END
|
|||||||
|
|
||||||
STRING F_CUP 15
|
STRING F_CUP 15
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 8 "CUP "
|
PROMPT 1 8 "CUP "
|
||||||
USE %CUP
|
USE %CUP
|
||||||
INPUT CODTAB F_CUP
|
INPUT CODTAB F_CUP
|
||||||
DISPLAY "Codice@15" CODTAB
|
DISPLAY "Codice@15" CODTAB
|
||||||
@ -458,9 +458,9 @@ BEGIN
|
|||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DCUP 50 30
|
STRING F_DCUP 50 35
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 40 8 ""
|
PROMPT 28 8 ""
|
||||||
USE %CUP KEY 2
|
USE %CUP KEY 2
|
||||||
INPUT S0 F_DCUP
|
INPUT S0 F_DCUP
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
@ -470,7 +470,7 @@ END
|
|||||||
|
|
||||||
STRING F_CIG 10
|
STRING F_CIG 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 9 "CIG "
|
PROMPT 1 9 "CIG "
|
||||||
USE %CIG
|
USE %CIG
|
||||||
INPUT CODTAB F_CIG
|
INPUT CODTAB F_CIG
|
||||||
DISPLAY "Codice@10" CODTAB
|
DISPLAY "Codice@10" CODTAB
|
||||||
@ -482,9 +482,9 @@ BEGIN
|
|||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DCIG 50 30
|
STRING F_DCIG 50 35
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 40 9 ""
|
PROMPT 28 9 ""
|
||||||
USE %CIG KEY 2
|
USE %CIG KEY 2
|
||||||
INPUT S0 F_DCIG
|
INPUT S0 F_DCIG
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user