Patch level :12.00 1350
Files correlati : ve0.exe Commento: Modifica movimenti contabile e analitici con Shift-F9
This commit is contained in:
parent
01647c540f
commit
eb688d517c
@ -28,6 +28,7 @@
|
|||||||
#include "../ca/cfcms.h"
|
#include "../ca/cfcms.h"
|
||||||
#include "../ca/commesse.h"
|
#include "../ca/commesse.h"
|
||||||
#include "condv.h"
|
#include "condv.h"
|
||||||
|
#include "../ca/movana.h"
|
||||||
#include "rcondv.h"
|
#include "rcondv.h"
|
||||||
#include "sconti.h"
|
#include "sconti.h"
|
||||||
|
|
||||||
@ -969,45 +970,80 @@ bool TDocumento_mask::on_key(KEY key)
|
|||||||
warning_box("L'utente %s non puo' modificare questo documento",
|
warning_box("L'utente %s non puo' modificare questo documento",
|
||||||
(const char*)user());
|
(const char*)user());
|
||||||
return TRUE;
|
return TRUE;
|
||||||
} else
|
}
|
||||||
if (key == K_F7)
|
else
|
||||||
{
|
if (key == K_SHIFT + K_F9)
|
||||||
const TSheet_field & sf = sfield(F_SHEET);
|
{
|
||||||
const int sel = sf.selected();
|
TMask m("Aggiornamento movimenti", 1, 80, 9);
|
||||||
if (sel >= 0 && sel < sf.items())
|
TEdit_field& movcont = m.add_number(101, 0, "Movimento contabile", 1, 1, 6, "B");
|
||||||
{
|
TEdit_field& movana = m.add_number(102, 0, "Movimento analitico", 1, 3, 6, "B");
|
||||||
TDocumento & d = doc();
|
TString item;
|
||||||
TRiga_documento & riga = d[sf.selected() + 1];
|
|
||||||
TOriginal_row_mask sm;
|
|
||||||
const TRectype * or_row = riga.find_original_rdoc();
|
|
||||||
|
|
||||||
if (or_row != NULL)
|
m.add_button(DLG_OK, 0, "Conferma", -12, -3, 10, 2);
|
||||||
|
m.add_button(DLG_CANCEL, 0, "Annulla", -22, -3, 10, 2);
|
||||||
|
item << "US " << LF_MOV << '\n';
|
||||||
|
item << "IN " << MOV_NUMREG << " 101\n";
|
||||||
|
item << "DI \"" << TR("N.Reg") << "@6\" " << MOV_NUMREG << '\n';
|
||||||
|
item << "DI \"" << TR("Descrizione") << "@50\" " << MOV_DESCR << '\n';
|
||||||
|
item << "OU 101 " << MOV_NUMREG << '\n';
|
||||||
|
item << "CH NO\nEN\n";
|
||||||
|
m.add_item(movcont, item);
|
||||||
|
item.cut(0);
|
||||||
|
item << "US " << LF_MOVANA << '\n';
|
||||||
|
item << "IN " << MOVANA_NUMREG << " 102\n";
|
||||||
|
item << "DI \"" << TR("N.Reg") << "@6\"" << MOVANA_NUMREG << '\n';
|
||||||
|
item << "DI \"" << TR("Descrizione") << "@50\"" << MOVANA_DESCR << '\n';
|
||||||
|
item << "OU 102 " << MOVANA_NUMREG << '\n';
|
||||||
|
item << "CH NO\nEN\n";
|
||||||
|
m.add_item(movana, item);
|
||||||
|
m.set(101, doc().get_long(DOC_NUMREG));
|
||||||
|
m.set(102, doc().get_long(DOC_NUMREGCA));
|
||||||
|
if (m.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
sm.set(F_DACODNUM, or_row->get(RDOC_CODNUM));
|
doc().put(DOC_NUMREG, m.get_long(101));
|
||||||
sm.set(F_DAANNO, or_row->get(RDOC_ANNO));
|
doc().put(DOC_NUMREGCA, m.get_long(102));
|
||||||
sm.set(F_DAPROVV, or_row->get(RDOC_PROVV));
|
|
||||||
sm.set(F_DANDOC, or_row->get(RDOC_NDOC));
|
|
||||||
sm.set(F_DANRIGA, or_row->get(RDOC_NRIGA));
|
|
||||||
sm.disable(-1);
|
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
if (sm.run() == K_ENTER && sm.field(F_DACODNUM).enabled())
|
}
|
||||||
|
else
|
||||||
|
if (key == K_F7)
|
||||||
{
|
{
|
||||||
TToken_string key(sm.get(F_DACODNUM));
|
const TSheet_field & sf = sfield(F_SHEET);
|
||||||
key.add(sm.get(F_DAANNO));
|
const int sel = sf.selected();
|
||||||
key.add(sm.get(F_DAPROVV));
|
if (sel >= 0 && sel < sf.items())
|
||||||
key.add(sm.get(F_DANDOC));
|
{
|
||||||
key.add(sm.get(F_DANRIGA));
|
TDocumento & d = doc();
|
||||||
|
TRiga_documento & riga = d[sf.selected() + 1];
|
||||||
|
TOriginal_row_mask sm;
|
||||||
|
const TRectype * or_row = riga.find_original_rdoc();
|
||||||
|
|
||||||
const TRectype & or_row_mod = cache().get(LF_RIGHEDOC, key);
|
if (or_row != NULL)
|
||||||
if (or_row_mod.empty())
|
{
|
||||||
riga.reset_original_rdoc_key();
|
sm.set(F_DACODNUM, or_row->get(RDOC_CODNUM));
|
||||||
else
|
sm.set(F_DAANNO, or_row->get(RDOC_ANNO));
|
||||||
riga.set_original_rdoc_key(or_row_mod);
|
sm.set(F_DAPROVV, or_row->get(RDOC_PROVV));
|
||||||
|
sm.set(F_DANDOC, or_row->get(RDOC_NDOC));
|
||||||
|
sm.set(F_DANRIGA, or_row->get(RDOC_NRIGA));
|
||||||
|
sm.disable(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sm.run() == K_ENTER && sm.field(F_DACODNUM).enabled())
|
||||||
|
{
|
||||||
|
TToken_string key(sm.get(F_DACODNUM));
|
||||||
|
key.add(sm.get(F_DAANNO));
|
||||||
|
key.add(sm.get(F_DAPROVV));
|
||||||
|
key.add(sm.get(F_DANDOC));
|
||||||
|
key.add(sm.get(F_DANRIGA));
|
||||||
|
|
||||||
|
const TRectype & or_row_mod = cache().get(LF_RIGHEDOC, key);
|
||||||
|
if (or_row_mod.empty())
|
||||||
|
riga.reset_original_rdoc_key();
|
||||||
|
else
|
||||||
|
riga.set_original_rdoc_key(or_row_mod);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TVariable_mask::on_key(key);
|
return TVariable_mask::on_key(key);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user