Correzioni per la procomm

git-svn-id: svn://10.65.10.50/trunk@4819 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1997-07-07 09:08:05 +00:00
parent 9ae91da5c1
commit 4a3996b65d

View File

@ -1496,7 +1496,7 @@ long TPrimanota_application::calcola_m770(int tipo_coll, real& spese, real& comp
bool TPrimanota_application::link_m770()
{
const int m770 = causale().link_m770();
if (!has_module(4) || iva() == iva_vendite || m770 == 0)
if (!has_module(M77AUT) || iva() == iva_vendite || m770 == 0)
return FALSE;
int tipo_coll = 0;
@ -1609,7 +1609,9 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query)
int i;
if (iva() != nessuna_iva)
{
{
add_cgs_tot(msk);
TSheet_field& is = ivas();
for (i = 0; ini.set_paragraph(format("%d,%d", LF_RMOVIVA, i+1)); i++)
{
@ -1633,28 +1635,45 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query)
TSheet_field& cg = cgs();
for (i = 0; ini.set_paragraph(format("%d,%d", LF_RMOV, i+1)); i++)
{
TToken_string& riga = cg.row(-1);
TImporto import(ini.get_char(RMV_SEZIONE), real(ini.get(RMV_IMPORTO)));
if (!import.is_zero())
import.add_to(riga, 0); // Dare/Avere 101-102
char tipo = ini.get_char(RMV_ROWTYPE);
TBill conto; ini2bill(ini, conto, FALSE);
if (conto.gruppo() > 0)
conto.add_to(riga, 2, 0x3); // Conto 103-107
int numrig = -1;
if (strchr("DINT", tipo) != NULL)
{
if (tipo == 'I')
numrig = bill2pos(conto, tipo);
else
numrig = type2pos(tipo);
if (numrig < 0)
tipo = ' ';
}
TToken_string& riga = cg.row(numrig);
if (numrig < 0 || !cg.cell_disabled(numrig, 0))
{
TImporto import(ini.get_char(RMV_SEZIONE), real(ini.get(RMV_IMPORTO)));
if (!import.is_zero())
import.add_to(riga, 0); // Dare/Avere 101-102
}
if (numrig < 0 || !cg.cell_disabled(numrig, 3))
{
if (conto.gruppo() > 0)
conto.add_to(riga, 2, 0x3); // Conto 103-107
}
riga.add("", 7); // Codice descrizione 108
riga.add(ini.get(RMV_DESCR), 8); // Descrizione riga 109
add_not_empty(riga, 8, ini, RMV_DESCR); // Descrizione riga 109
ini2bill(ini, conto, TRUE);
if (conto.gruppo() > 0)
conto.add_to(riga, 9, 0x3); // Contropartita 110-114
riga.add(ini.get(RMV_NUMGIO), 13);
const char tipo = ini.get_char(RMV_ROWTYPE);
riga.add(tipo, 14); // Tipo di riga 115
disable_cgs_cells(i, tipo);
riga.add(ini.get(RMV_NUMGIO), 14); // Centro di costo 115
riga.add(tipo, 15); // Tipo di riga 116
}
if (is_fattura())
@ -1683,8 +1702,10 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query)
void TPrimanota_application::mask2ini(TMask& msk, TConfig& ini)
{
TRelation_application::mask2ini(msk, ini);
int i, f;
ini.set("DESCRCAUS", msk.get(F_DESCRCAUS));
int i, f;
for (i = 0; i < _rel->cg_items(); i++)
{
ini.set_paragraph(format("%d,%d", LF_RMOV, i+1));
@ -1695,15 +1716,22 @@ void TPrimanota_application::mask2ini(TMask& msk, TConfig& ini)
const char* name = rec.fieldname(f);
ini.set(name, rec.get(name));
}
const TBill zio(rec);
ini.set("DESCRCONTO", zio.descrizione());
const TBill french(rec, TRUE);
ini.set("DESCRCONTOC", french.descrizione());
}
for (i = 0; i < _rel->iva_items(); i++)
{
ini.set_paragraph(format("%d,%d", LF_RMOVIVA, i+1));
const TRectype& rec = _rel->iva(f);
const TRectype& rec = _rel->iva(i);
for (f = rec.items()-1; f >= 0; f--)
{
const char* name = rec.fieldname(i);
const char* name = rec.fieldname(f);
CHECKD(name, "Dalle righe iva e' sparito il campo ", f);
ini.set(name, rec.get(name));
}
}