Patch level :4.0 998

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :riportate modifiche 3.1 997 per elenco clifo


git-svn-id: svn://10.65.10.50/trunk@15692 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2007-10-08 13:57:37 +00:00
parent 1886d71e64
commit e01a54ae8c
4 changed files with 230 additions and 80 deletions

View File

@ -56,6 +56,8 @@ class TAllegato_info : public TObject
public:
bool occasionale() const { return _tipo == 'C' && _occas.full(); }
char tipo() const { return _tipo; }
long codice() const { return _codice; }
const TString & occas_code() const { return _occas;}
TVariant get(const TString& field) const;
void key(TString& str) const;
@ -63,6 +65,7 @@ public:
const TAllegato_importi& importi(bool prec) const { return prec ? _prec : _curr; }
bool is_not_null(bool strict) const { return _curr.is_not_null(strict) || _prec.is_not_null(strict); }
void set_codice(long codice, const char* occas) { _codice = codice; _occas = occas; }
TAllegato_info(const TRecordset& mov);
};
@ -612,34 +615,60 @@ const TCausale& TCausali_cache::causale(const char* codice, int annoiva)
class TAlleg_report : public TReport
{
int _anno;
TAssoc_array _vars;
protected:
virtual bool use_mask() { return false; }
virtual bool set_usr_val(const TString& name, const TVariant& var);
virtual bool get_usr_val(const TString& name, TVariant& var) const;
public:
TAlleg_report(TRecordset* rs, int anno);
TAlleg_report(TRecordset* rs, const TMask& am, bool hide_not_alleg = false);
};
bool TAlleg_report::set_usr_val(const TString& name, const TVariant& var)
{
if (!TReport::set_usr_val(name, var))
_vars.add(name, new TVariant(var));
return true;
}
bool TAlleg_report::get_usr_val(const TString& name, TVariant& var) const
{
if (name == "ANNO")
if (name[0] == '#')
{
var.set(_anno);
return true;
}
if (name == "PREC")
{
var.set(_anno-1);
return true;
TVariant* v = (TVariant*)_vars.objptr(name);
if (v != NULL)
{
var = *v;
return true;
}
}
return TReport::get_usr_val(name, var);
}
TAlleg_report::TAlleg_report(TRecordset* rs, int anno) : _anno(anno)
TAlleg_report::TAlleg_report(TRecordset* rs, const TMask& am, bool hide_not_alleg)
{
load("cg3900a");
mask2report(am);
TString4 filtro;
if (!hide_not_alleg)
filtro = am.get(F_FILTRO);
set_usr_val("#FILTRO", TVariant(filtro));
if (hide_not_alleg)
{
const char* const fields[] = { "H0.107", "B1.107", "B1.207", "F1.107", "F1.207", NULL };
for (int i = 0; fields[i]; i++)
{
TReport_field* rf = field(fields[i]);
if (rf != NULL)
rf->deactivate();
}
}
set_recordset(rs);
}
@ -725,13 +754,18 @@ int TAlleg_mask::imp_iva(char tipocf, bool non_esposti, const TRecordset& riga,
return allegato;
}
bool TAlleg_mask::scan_iva_rows(const TRecordset& mov, TAssoc_array& clifi, bool strict)
bool TAlleg_mask::scan_iva_rows(const TRecordset& mov, TAssoc_array& clifi, bool invio)
{
// Informazioni base sul cliente in testata: vengono ignorati gli importi
const TAllegato_info clifo(mov);
const int tipalleg = clifo.get(CLI_ALLEG).as_int();
if (strict)
if (invio)
{
// Ignoro da subito chi non va in allegato
if (tipalleg != 0 && tipalleg != 4)
return false;
// Gli occasionali meritano solo di essere ignorati
if (clifo.occasionale())
return false;
@ -739,12 +773,14 @@ bool TAlleg_mask::scan_iva_rows(const TRecordset& mov, TAssoc_array& clifi, bool
const TVariant stato = clifo.get(CLI_STATOPAIV);
if (!stato.is_empty() && stato.as_string() != "IT") // Scarto gli esteri
return false;
// Ignoro da subito chi non va in allegato
const int tipalleg = clifo.get(CLI_ALLEG).as_int();
if (tipalleg != 0 && tipalleg != 4)
return false;
}
else
{
// Per efficienza andrebbe nella funzione chiamante
const int filtro = get_int(F_FILTRO);
if (filtro >= 0 && tipalleg != filtro)
return false;
}
TString80 clifo_key; clifo.key(clifo_key);
TAllegato_info* ai = (TAllegato_info*)clifi.objptr(clifo_key);
@ -753,6 +789,17 @@ bool TAlleg_mask::scan_iva_rows(const TRecordset& mov, TAssoc_array& clifi, bool
ai = new TAllegato_info(mov);
clifi.add(clifo_key, ai);
}
else
{
// Se questa partita IVA esiste gia' deve prevalere la ragione sociale con tipalleg=0
if (tipalleg == 0)
{
const long codcf = clifo.codice(); // Codice corrente
const long old_codcf = ai->codice(); // Codice su fornitura
if (codcf != old_codcf)
ai->set_codice(codcf, clifo.occas_code());
}
}
const TDate datareg = mov.get(MOV_DATAREG).as_date();
const TDate datadoc = mov.get(MOV_DATADOC).as_date();
@ -766,7 +813,10 @@ bool TAlleg_mask::scan_iva_rows(const TRecordset& mov, TAssoc_array& clifi, bool
const bool non_esposti = movintra || reverse_charge;
const bool prorata100 = caus.reg().prorata100(annoiva);
const bool anno_prec = datadoc.year() == anno-1;
bool anno_prec = false; // In attesa di modifiche a prima nota
if (get(F_ALGO) == "R")
anno_prec = datadoc.year() == anno-1; // Serve per quadrature
TAllegato_importi& allimp = ai->importi(anno_prec);
TISAM_recordset righe_iva("USE RMOVIVA\nFROM NUMREG=#NR\nTO NUMREG=#NR");
@ -792,34 +842,37 @@ bool TAlleg_mask::scan_iva_rows(const TRecordset& mov, TAssoc_array& clifi, bool
return true;
}
// algo: 0=AGA; 1=Sirio/Benetti
TRecordset* TAlleg_mask::new_recordset(char tipocf, bool strict)
// algo: R=data Registrazione; D=data Documento
TRecordset* TAlleg_mask::new_recordset(char tipocf, bool invio)
{
const int algo_dick = get_int(F_ALGO);
const int algo_dick = get(F_ALGO) == "D";
// Compito: tradurre in ISAM la seguente query:
// SELECT * FROM MOV
// WHERE TIPO=#TYPE AND ANNOIVA=#YEAR
// WHERE TIPO=#TYPE AND ANNOIVA=#ANNO
// ORDER BY TIPO,CODCF;
TString query = "USE MOV KEY 3"; // La chiave 3 e' TIPO+CODCF+DATAREG+NUMREG
query << "\nSELECT (ANNOIVA=#YEAR)"; // Seleziona solo l'anno desiderato
TString query = "USE MOV KEY 3"; // La chiave 3 e' TIPO+CODCF+DATAREG+NUMREG
query << "\nSELECT ";
if (algo_dick)
query << "||(ANNOIVA=(#YEAR+1))";
query << "(ANNOIVA>=#ANNO)"; // Seleziona dall'anno desiderato in poi
else
query << "(ANNOIVA==#ANNO)"; // Seleziona solo l'anno desiderato
query << "\nFROM TIPO=#TYPE CODCF=1"; // Salta tutti movimenti senza CODCF
query << "\nTO TIPO=#TYPE"; // Inutile dire CODCF=999999
TISAM_recordset mov(query);
if (tipocf <= ' ') tipocf = get(F_TIPO)[0];
const char tipo[2] = { tipocf, '\0' };
const char tipo[2] = { tipocf, '\0' };
const int anno = get_int(F_ANNO);
mov.set_var("#YEAR", TVariant(long(anno)));
mov.set_var("#ANNO", TVariant(long(anno)));
mov.set_var("#TYPE", TVariant(tipo));
const TRecnotype movs = mov.items();
TString msg;
msg << movs << ' ' << TR("Movimenti") << ' '
msg << TR("Elaborazione") << ' ' << movs << ' ' << TR("Movimenti") << ' '
<< (tipocf == 'C' ? TR("Clienti") : TR("Fornitori"));
TProgind pi(movs, msg, true, true);
@ -838,7 +891,7 @@ TRecordset* TAlleg_mask::new_recordset(char tipocf, bool strict)
continue;
// Scarta trasferimento movimenti intra prima del 2008
if (strict && anno < 2008 && caus.intra())
if (invio && anno < 2008 && caus.intra())
continue;
// Controllo inutilmente anche il tipo documento
@ -861,20 +914,20 @@ TRecordset* TAlleg_mask::new_recordset(char tipocf, bool strict)
{
const int annodoc = mov.get(MOV_DATADOC).as_date().year();
const bool is_nota = (tipodoc=="NC") || (tipodoc=="ND");
keep = (annodoc == anno) || (is_nota && (annodoc == anno-1));
keep = (annodoc == anno) ; // || (is_nota && (annodoc == anno-1));
}
if (!keep)
continue;
scan_iva_rows(mov, clifi, strict);
scan_iva_rows(mov, clifi, invio);
}
TAllegati_set* hullygully = new TAllegati_set;
FOR_EACH_ASSOC_OBJECT(clifi, h, k, o)
{
const TAllegato_info& ai = *(TAllegato_info*)o;
if (ai.is_not_null(strict))
if (ai.is_not_null(invio))
hullygully->add(ai);
}
hullygully->sort();
@ -899,21 +952,27 @@ void TAlleg_mask::add_0_9(int trc, TPadoaSchioppa_set& pss, TLog_report& log)
const TRectype& anag = contribuente();
const char tipoa = anag.get_char(ANA_TIPOA);
const long codanagr = anag.get_long(ANA_CODANAGR);
const TString ragsoc = anag.get(ANA_RAGSOC); // Non fidarsi ad usare TString&
TString16 pariva = anag.get(ANA_PAIV); pariva.right_just(11, '0');
if (!pi_check("", pariva))
log_error(anag.get(ANA_RAGSOC), TR("*** Ditta con partita IVA errata"), pariva, log, 2);
log_error(ragsoc, TR("*** Ditta con partita IVA errata"), pariva, log, 2);
else
{
if (pariva[0] == '8' || pariva[0] == '9')
log_error(ragsoc, TR("** Verificare esenzione dall'invio degli elenchi"), pariva, log, 2);
}
const TString16 codfis = anag.get(ANA_COFI);
if (!cf_check("", codfis))
log_error(anag.get(ANA_RAGSOC), TR("** Ditta con codice fiscale errato"), codfis, log, 2);
log_error(ragsoc, TR("** Ditta con codice fiscale errato"), codfis, log, 2);
pss.set("CodiceFiscale", codfis.full() ? codfis : pariva);
pss.set("PartitaIVA", pariva.full() ? pariva : codfis);
if (tipoa == 'F')
{
pss.set("Cognome", anag.get(ANA_RAGSOC).left(30));
pss.set("Nome", anag.get(ANA_RAGSOC).mid(30));
pss.set("Cognome", ragsoc.left(30));
pss.set("Nome", ragsoc.mid(30));
const TRectype& anafis = cache().get(LF_ANAGFIS, codanagr);
pss.set("Sesso", anafis.get(ANF_SESSO));
@ -937,7 +996,7 @@ void TAlleg_mask::add_0_9(int trc, TPadoaSchioppa_set& pss, TLog_report& log)
TString8 key; key << stato << '|' << comun;
const TRectype& comres = cache().get(LF_COMUNI, key);
pss.set("Denominazione", anag.get(ANA_RAGSOC));
pss.set("Denominazione", ragsoc);
pss.set("ComuneSedeLegale", comres.get(COM_DENCOM));
pss.set("ProvinciaSedeLegale", comres.get(COM_PROVCOM));
}
@ -1036,7 +1095,8 @@ void TAlleg_mask::log_error(const TRecordset& clifo, const char* msg1, const cha
TLog_report& errlog, int severity)
{
TString str;
str << clifo.get(CLI_TIPOCF) << clifo.get(CLI_CODCF)
str << clifo.get("#RECORD.NUMBER") << ". "
<< clifo.get(CLI_TIPOCF) << clifo.get(CLI_CODCF)
<< ' ' << clifo.get(CLI_RAGSOC);
str.strip_double_spaces();
log_error(str, msg1, msg2, errlog, severity);
@ -1099,6 +1159,12 @@ void TAlleg_mask::add_1_2(int trc, TRecordset& clifo, TPadoaSchioppa_set& pss, T
{
if (!pi_check("", paiv))
log_error(clifo, TR("** Partita IVA errata"), paiv, log, 1);
else
{
if (paiv[0] == '8' || paiv[0] == '9')
log_error(clifo, TR("** Verificare esclusione della Parita IVA"), paiv, log, 1);
}
pss.set(3001, paiv); // Partita IVA (obbligatoria dal 2006)
}
@ -1141,11 +1207,10 @@ void TAlleg_mask::add_1_2(int trc, TRecordset& clifo, TPadoaSchioppa_set& pss, T
void TAlleg_mask::generazione()
{
TReport_book book;
_red_alert = false;
TLog_report log(TR("Errori riscontrati"));
TReport_book book;
TPadoaSchioppa_set pss;
add_0_9(0, pss, log); // Testa
@ -1157,7 +1222,7 @@ void TAlleg_mask::generazione()
log.log(0, TR("CLIENTI"));
add_1_2(1, *cli, pss, log); // Clienti
TAlleg_report rep(cli, get_int(F_ANNO));
TAlleg_report rep(cli, *this, true);
book.add(rep);
}
@ -1167,7 +1232,7 @@ void TAlleg_mask::generazione()
log.log(0, TR("FORNITORI"));
add_1_2(2, *ven, pss, log); // Fornitori
TAlleg_report rep(ven, get_int(F_ANNO));
TAlleg_report rep(ven, *this, true);
book.add(rep);
}
@ -1250,6 +1315,7 @@ bool TAlleg_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
const TRectype& anag = contribuente();
o.set(anag.get(ANA_COFI));
o.disable();
set(F_PIVA, anag.get(ANA_PAIV));
}
break;
case F_INTR:
@ -1304,7 +1370,7 @@ bool TAlleg_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
if (e == fe_button)
{
TRecordset* rs = new_recordset();
TAlleg_report rep(rs, get_int(F_ANNO));
TAlleg_report rep(rs, *this);
TReport_book book;
book.add(rep);
book.print_or_preview();

View File

@ -1,13 +1,15 @@
#define F_TIPO 101
#define F_ANNO 102
#define F_ALGO 103
#define F_DIR 104
#define F_NAME 105
#define F_COFI 106
#define F_TIPO 101
#define F_ANNO 102
#define F_ALGO 103
#define F_DIR 104
#define F_NAME 105
#define F_COFI 106
#define F_PIVA 107
#define F_CONT 109
#define F_SOGG 110
#define F_INTR 111
#define F_CAF 112
#define F_COMP 113
#define F_DATA 114
#define F_CONT 109
#define F_SOGG 110
#define F_INTR 111
#define F_CAF 112
#define F_COMP 113
#define F_DATA 114
#define F_FILTRO 115

View File

@ -5,27 +5,82 @@
<section type="Head">
<font face="Arial" bold="1" size="8" />
<field x="67" type="Testo" width="12" pattern="1" text="P.I. &#2F; C.F." />
<field x="84" type="Testo" width="4" pattern="1" text="Anno" />
<field x="84" type="Testo" width="5" pattern="1" text="Anno" />
<field x="89" type="Testo" align="right" width="12" pattern="1" text="Imponibile" />
<field x="100" type="Testo" align="right" width="12" pattern="1" text="Imposta" />
<field x="111" type="Testo" align="right" width="12" pattern="1" text="FR005001" />
<field x="122" type="Testo" align="right" width="12" pattern="1" text="Non impon." />
<field x="133" type="Testo" align="right" width="12" pattern="1" text="Esenti" />
<field x="144" type="Testo" align="right" width="12" pattern="1" text="IVA non esp." />
<field x="155" type="Testo" align="right" width="12" pattern="1" text="Non alleg." />
<field x="155" type="Testo" align="right" width="12" id="107" pattern="1" text="Non alleg." />
<field border="3" y="1" type="Linea" width="168" height="0" pattern="1" />
</section>
<section type="Head" level="1" height="4">
<section type="Head" level="1">
<prescript description="H1 PRESCRIPT">MESSAGE RESET,F1</prescript>
<field border="3" type="Stringa" valign="center" align="center" shade_offset="25" width="168" height="3">
<font face="Arial" bold="1" size="24" />
<source>IF(TIPOCF=="C";"Clienti";"Fornitori") + " movimentati nel " + ANNO</source>
<source>IF(TIPOCF=="C";"Clienti";"Fornitori") + " movimentati nel " + #ANNO</source>
</field>
<field x="162" y="0.5" type="Stringa" width="5" pattern="1">
<prescript description="H1.0 PRESCRIPT">MESSAGE _PAGENO</prescript>
</field>
<field x="157.29" y="0.58" type="Testo" width="4" pattern="1" text="Pag." />
<field x="30" y="4" type="Array" width="35" pattern="1">
<source>#FILTRO</source>
<list>
<li Value="Tutti" Code=" " />
<li Value="Validi per allegato IVA" Code="0" />
<li Value="Non validi per allegato IVA" Code="1" />
<li Value="Clienti&#2F;Fornitori occasionale" Code="2" />
<li Value="Documenti riepilogativi" Code="3" />
<li Value="Clienti&#2F;Fornitori con codici fiscali gia' inseriti" Code="4" />
<li Value="Clienti&#2F;Fornitori esteri" Code="5" />
<li Value="Clienti&#2F;Fornitori privati" Code="6" />
</list>
</field>
<field x="0.16" y="4.08" type="Testo" width="30" pattern="1" text="Filtro" />
<field y="5" type="Testo" width="30" pattern="1" text="Partita IVA contribuente" />
<field x="30" y="5" type="Stringa" width="17" pattern="1">
<source>#PIVA</source>
</field>
<field x="63" y="5" type="Testo" width="30" pattern="1" text="Codice fiscale soggetto obbligato" />
<field x="90" y="5" type="Stringa" width="17" pattern="1">
<source>#SOGGETTO</source>
</field>
<field x="110" y="5" type="Testo" width="23" pattern="1" text="Scansione per data" />
<field x="133" y="5" type="Array" width="20" pattern="1">
<source>#ALGO</source>
<list>
<li Value="documento" Code="D" />
<li Value="registrazione" Code="R" />
</list>
</field>
<field y="6" type="Testo" width="30" pattern="1" text="Codice fiscale intermediario" />
<field x="30" y="6" type="Stringa" width="17" pattern="1">
<source>#INTERMEDIARIO</source>
</field>
<field x="50" y="6" type="Testo" width="4" pattern="1" text="CAF" />
<field x="54" y="6" type="Numero" align="right" width="5" pattern="1">
<source>#CAF</source>
</field>
<field x="63" y="6" type="Testo" width="27" pattern="1" text="Data impegno alla trasmissione" />
<field x="90" y="6" type="Data" width="10" pattern="1">
<source>#IMPEGNO</source>
</field>
<field x="110" y="6" type="Testo" width="23" pattern="1" text="Dichiarazione compilata da" />
<field x="133" y="6" type="Array" width="20" pattern="1">
<source>#COMPILATORE</source>
<list>
<li Value="contribuente" Code="1" />
<li Value="intermediario" Code="2" />
</list>
</field>
<field border="3" y="7" type="Linea" width="168" height="0" pattern="1" />
</section>
<section type="Body" />
<section type="Body" level="1">
<field type="Numero" width="16" pattern="1">
<source>CODCF</source>
<source>#RECORD.NUMBER</source>
</field>
<field x="10" type="Stringa" width="50" pattern="1">
<font face="Arial" bold="1" size="8" />
@ -36,7 +91,7 @@
<source>PAIV</source>
</field>
<field x="84" type="Numero" align="right" width="4" pattern="1">
<source>ANNO</source>
<source>#ANNO</source>
</field>
<field x="89" type="Numero" align="right" width="12" pattern="1" hide_zero="1" text="###.###.###">
<source>C_IMP</source>
@ -62,19 +117,15 @@
<source>C_NE</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,#F1.106</prescript>
</field>
<field x="155" type="Numero" align="right" width="12" pattern="1" hide_zero="1" text="###.###.###">
<source>C_NA</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,#F1.107</prescript>
</field>
<field y="1" type="Stringa" width="60" pattern="1">
<source>TRIM(INDCF) + " " + CIVCF</source>
</field>
<field x="63" y="1" type="Testo" width="4" pattern="1" text="C.F." />
<field x="67" y="1" type="Stringa" width="16" pattern="1">
<field x="67" y="1" type="Stringa" width="17" pattern="1">
<source>COFI</source>
</field>
<field x="84" y="1" type="Numero" align="right" width="4" pattern="1">
<source>PREC</source>
<source>#ANNO-1</source>
</field>
<field x="89" y="1" type="Numero" align="right" width="12" pattern="1" hide_zero="1" text="###.###.###">
<source>P_IMP</source>
@ -100,20 +151,24 @@
<source>P_NE</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,#F1.206</prescript>
</field>
<field x="155" y="1" type="Numero" align="right" width="12" pattern="1" hide_zero="1" text="###.###.###">
<source>P_NA</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,#F1.207</prescript>
</field>
<field y="2" type="Numero" align="right" width="5" pattern="1">
<source>CAPCF</source>
</field>
<field x="6" y="2" type="Stringa" width="50" pattern="1">
<source>DENCOM</source>
</field>
<field x="58" y="2" type="Stringa" width="4" pattern="1">
<field x="57" y="2" type="Stringa" width="4" pattern="1">
<source>PROVCOM</source>
</field>
<field x="63" y="2" type="Testo" width="4" pattern="1" text="Cod." />
<field x="67" y="2" type="Numero" align="right" width="7" pattern="1">
<source>CODCF</source>
</field>
<field border="1" y="3" type="Linea" width="168" height="0" pattern="1" />
<field x="155" type="Numero" align="right" width="12" id="107" pattern="1" hide_zero="1" text="###.###.###">
<source>C_NA</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,#F1.107</prescript>
</field>
</section>
<section type="Foot" />
<section type="Foot" level="1">
@ -122,10 +177,10 @@
<font face="Arial" bold="1" size="12" />
</field>
<field x="84" y="0.5" type="Numero" align="right" width="4" pattern="1">
<source>ANNO</source>
<source>#ANNO</source>
</field>
<field x="84" y="1.5" type="Numero" align="right" width="4" pattern="1">
<source>PREC</source>
<source>#ANNO-1</source>
</field>
<field x="89" y="0.5" type="Numero" align="right" width="12" id="101" pattern="1" hide_zero="1" text="###.###.###" />
<field x="100" y="0.5" type="Numero" align="right" width="12" id="102" pattern="1" hide_zero="1" text="###.###.###" />

View File

@ -28,13 +28,15 @@ BEGIN
CHECKTYPE REQUIRED
NUM_EXPR #F_ANNO>=2006
WARNING "L'anno non puo' essere antecedente al 2006"
FIELD ANNO
END
LISTBOX F_ALGO 1 13
BEGIN
PROMPT 34 1 "Scansione per data "
ITEM "0|registrazione"
ITEM "1|documento"
ITEM "D|documento"
ITEM "R|registrazione"
FIELD ALGO
END
BOOLEAN F_COFI
@ -66,16 +68,24 @@ END
STRING F_CONT 16
BEGIN
PROMPT 2 9 "Codice fiscale contribuente "
PROMPT 2 9 "Cod. fisc. contribuente "
FLAGS "U"
END
STRING F_PIVA 11
BEGIN
PROMPT 52 9 "Partita IVA "
FLAGS "UD"
FIELD PIVA
END
STRING F_SOGG 16
BEGIN
PROMPT 2 10 "Codice fiscale soggetto obbligato "
PROMPT 2 10 "Cod. fisc. soggetto obbligato "
STR_EXPR #F_SOGG!=#F_CONT
WARNING "Il codice del soggetto deve essere diverso da quello del contribuente"
FLAGS "U"
FIELD SOGGETTO
END
GROUPBOX DLG_NULL 78 5
@ -89,12 +99,14 @@ BEGIN
STR_EXPR #F_INTR!=#F_CONT
WARNING "Il codice dell'intermediario deve essere diverso da quello del contribuente"
FLAGS "U"
FIELD INTERMEDIARIO
END
NUMBER F_CAF 5
BEGIN
PROMPT 42 13 "Iscrizione C.A.F. "
FLAGS "U"
FIELD CAF
END
LISTBOX F_COMP 1 20
@ -102,6 +114,7 @@ BEGIN
PROMPT 2 14 "Comunicazione predisposta da "
ITEM "1|contribuente"
ITEM "2|chi effettua l'invio"
FIELD COMPILATORE
END
DATE F_DATA
@ -109,6 +122,7 @@ BEGIN
PROMPT 2 15 "Data dell'impegno alla trasmimssione "
VALIDATE REQIF_FUNC 1 F_INTR
WARNING "Data obbligatoria in presenza di un intermediario"
FIELD IMPEGNO
END
GROUPBOX DLG_NULL 78 5
@ -123,6 +137,19 @@ BEGIN
ITEM "F|Fornitori"
END
LIST F_FILTRO 2 42
BEGIN
PROMPT 26 18 "Filtro "
ITEM "-1|Tutti"
ITEM "0|Validi per allegato IVA"
ITEM "1|Non validi per allegato IVA"
ITEM "2|Occasionali"
ITEM "3|Documenti riepilogativi"
ITEM "4|Con partita IVA gia' inserita"
ITEM "5|Esteri"
ITEM "6|Privati"
END
BUTTON DLG_SELECT 10 2
BEGIN
PROMPT -25 19 ""