Patch level :
Files correlati : pd0610.exe Ricompilazione Demo : [ ] Commento : Creazione ordini fornitore SRM git-svn-id: svn://10.65.10.50/branches/R_10_00@22324 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
2234ff0150
commit
c2a8964859
@ -325,50 +325,9 @@ TDoc_key * TCrea_ordini_srm_app::crea_ordf(const TDocumento& ordc, const long nr
|
|||||||
ordf.put(DOC_FASCMS, ordc.get(RDOC_FASCMS));
|
ordf.put(DOC_FASCMS, ordc.get(RDOC_FASCMS));
|
||||||
ordf.put(DOC_NUMDOCRIF, ordc.numero());
|
ordf.put(DOC_NUMDOCRIF, ordc.numero());
|
||||||
ordf.put(DOC_DATADOCRIF, ordc.get(DOC_DATADOC));
|
ordf.put(DOC_DATADOCRIF, ordc.get(DOC_DATADOC));
|
||||||
|
|
||||||
const TRiga_documento & orfrow = ordc[nriga];
|
|
||||||
const long codcf = ordf.get_long(DOC_CODCF);
|
|
||||||
TToken_string keyc;
|
|
||||||
const TString8 codlist = orfrow.get(first ? "LF1" : "LF2");
|
|
||||||
|
|
||||||
//gestione CONDV - Listini
|
|
||||||
if (codlist.full())
|
|
||||||
{
|
|
||||||
keyc = "L"; // 'L'istino
|
|
||||||
keyc.add(ordf.get(DOC_CATVEN)); //categoria di vendita
|
|
||||||
keyc.add(""); //tipocf
|
|
||||||
keyc.add(""); //codcf
|
|
||||||
keyc.add(codlist);
|
|
||||||
|
|
||||||
const TRectype& list = cache().get(LF_CONDV, keyc);
|
|
||||||
if (!list.empty())
|
|
||||||
ordf.put(DOC_CODLIST, codlist);
|
|
||||||
}
|
|
||||||
//gestione CONDV - Contratti
|
|
||||||
const TString8 codcont = orfrow.get(first ? "CF1" : "CF2");
|
|
||||||
|
|
||||||
if (codcont.full())
|
|
||||||
{
|
|
||||||
keyc = "C"; // 'C'ontratti
|
|
||||||
keyc.add(""); // categoria di vendita nulla sui contratti
|
|
||||||
keyc.add('F'); // tipocf
|
|
||||||
keyc.add(codcf); // codcf
|
|
||||||
keyc.add(codcont); // codice contratto
|
|
||||||
|
|
||||||
const TRectype& contr = cache().get(LF_CONDV, keyc);
|
|
||||||
if (contr.empty())
|
|
||||||
{
|
|
||||||
warning_box("Non trovando il contratto %s si utilizza lo 001.", (const char*)keyc);
|
|
||||||
keyc.add("001", 4); // codice contratto di default
|
|
||||||
if (!cache().get(LF_CONDV, keyc).empty())
|
|
||||||
ordf.put(DOC_CODCONT, "001");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
ordf.put(DOC_CODCONT, codcont);
|
|
||||||
}
|
|
||||||
|
|
||||||
TRiga_documento & row = ordf.new_row("05");
|
TRiga_documento & row = ordf.new_row("05");
|
||||||
TString rif;
|
|
||||||
|
TString rif;
|
||||||
|
|
||||||
ordc.riferimento(rif);
|
ordc.riferimento(rif);
|
||||||
if (rif.empty())
|
if (rif.empty())
|
||||||
@ -380,6 +339,47 @@ TDoc_key * TCrea_ordini_srm_app::crea_ordf(const TDocumento& ordc, const long nr
|
|||||||
|
|
||||||
row.put(RDOC_DESCR, rif);
|
row.put(RDOC_DESCR, rif);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const TRiga_documento & orfrow = ordc[nriga];
|
||||||
|
const long codcf = ordf.get_long(DOC_CODCF);
|
||||||
|
TToken_string keyc;
|
||||||
|
const TString8 codlist = orfrow.get(first ? "LF1" : "LF2");
|
||||||
|
|
||||||
|
//gestione CONDV - Listini
|
||||||
|
if (codlist.full())
|
||||||
|
{
|
||||||
|
keyc = "L"; // 'L'istino
|
||||||
|
keyc.add(ordf.get(DOC_CATVEN)); //categoria di vendita
|
||||||
|
keyc.add(""); //tipocf
|
||||||
|
keyc.add(""); //codcf
|
||||||
|
keyc.add(codlist);
|
||||||
|
|
||||||
|
const TRectype& list = cache().get(LF_CONDV, keyc);
|
||||||
|
if (!list.empty())
|
||||||
|
ordf.put(DOC_CODLIST, codlist);
|
||||||
|
}
|
||||||
|
//gestione CONDV - Contratti
|
||||||
|
const TString8 codcont = orfrow.get(first ? "CF1" : "CF2");
|
||||||
|
|
||||||
|
if (codcont.full())
|
||||||
|
{
|
||||||
|
keyc = "C"; // 'C'ontratti
|
||||||
|
keyc.add(""); // categoria di vendita nulla sui contratti
|
||||||
|
keyc.add('F'); // tipocf
|
||||||
|
keyc.add(codcf); // codcf
|
||||||
|
keyc.add(codcont); // codice contratto
|
||||||
|
|
||||||
|
const TRectype& contr = cache().get(LF_CONDV, keyc);
|
||||||
|
if (contr.empty())
|
||||||
|
{
|
||||||
|
warning_box("Non trovando il contratto %s si utilizza lo 001.", (const char*)keyc);
|
||||||
|
keyc.add("001", 4); // codice contratto di default
|
||||||
|
if (!cache().get(LF_CONDV, keyc).empty())
|
||||||
|
ordf.put(DOC_CODCONT, "001");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
ordf.put(DOC_CODCONT, codcont);
|
||||||
|
}
|
||||||
ordini_fornitore(ordc, nriga, ordf);
|
ordini_fornitore(ordc, nriga, ordf);
|
||||||
return new TDoc_key(ordf.get_int(DOC_ANNO), ordf.get(DOC_CODNUM), ordf.get_long(DOC_NDOC), ordf.get_char(DOC_PROVV));
|
return new TDoc_key(ordf.get_int(DOC_ANNO), ordf.get(DOC_CODNUM), ordf.get_long(DOC_NDOC), ordf.get_char(DOC_PROVV));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user