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:
alex 2011-06-25 17:30:17 +00:00
parent 2234ff0150
commit c2a8964859

View File

@ -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_NUMDOCRIF, ordc.numero());
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");
TString rif;
TString rif;
ordc.riferimento(rif);
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);
}
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);
return new TDoc_key(ordf.get_int(DOC_ANNO), ordf.get(DOC_CODNUM), ordf.get_long(DOC_NDOC), ordf.get_char(DOC_PROVV));
}