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/commesse.h"
|
||||
#include "condv.h"
|
||||
#include "../ca/movana.h"
|
||||
#include "rcondv.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",
|
||||
(const char*)user());
|
||||
return TRUE;
|
||||
} else
|
||||
if (key == K_F7)
|
||||
{
|
||||
const TSheet_field & sf = sfield(F_SHEET);
|
||||
const int sel = sf.selected();
|
||||
if (sel >= 0 && sel < sf.items())
|
||||
{
|
||||
TDocumento & d = doc();
|
||||
TRiga_documento & riga = d[sf.selected() + 1];
|
||||
TOriginal_row_mask sm;
|
||||
const TRectype * or_row = riga.find_original_rdoc();
|
||||
}
|
||||
else
|
||||
if (key == K_SHIFT + K_F9)
|
||||
{
|
||||
TMask m("Aggiornamento movimenti", 1, 80, 9);
|
||||
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");
|
||||
TString item;
|
||||
|
||||
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));
|
||||
sm.set(F_DAANNO, or_row->get(RDOC_ANNO));
|
||||
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);
|
||||
doc().put(DOC_NUMREG, m.get_long(101));
|
||||
doc().put(DOC_NUMREGCA, m.get_long(102));
|
||||
}
|
||||
|
||||
if (sm.run() == K_ENTER && sm.field(F_DACODNUM).enabled())
|
||||
return true;
|
||||
}
|
||||
else
|
||||
if (key == K_F7)
|
||||
{
|
||||
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 TSheet_field & sf = sfield(F_SHEET);
|
||||
const int sel = sf.selected();
|
||||
if (sel >= 0 && sel < sf.items())
|
||||
{
|
||||
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_mod.empty())
|
||||
riga.reset_original_rdoc_key();
|
||||
else
|
||||
riga.set_original_rdoc_key(or_row_mod);
|
||||
if (or_row != NULL)
|
||||
{
|
||||
sm.set(F_DACODNUM, or_row->get(RDOC_CODNUM));
|
||||
sm.set(F_DAANNO, or_row->get(RDOC_ANNO));
|
||||
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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user