Migliorato supporto per elaborazioni esterne
git-svn-id: svn://10.65.10.50/branches/R_10_00@23027 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
07a1b81dad
commit
d4f58ea1ec
@ -1,3 +1,3 @@
|
|||||||
33
|
33
|
||||||
0
|
0
|
||||||
$doc|0|0|687|0|Documenti di vendita|||
|
$doc|0|0|723|0|Documenti di vendita|||
|
||||||
|
10
ve/f33.trr
10
ve/f33.trr
@ -1,5 +1,5 @@
|
|||||||
33
|
33
|
||||||
95
|
97
|
||||||
CODNUM|1|4|0|Codice della numerazione
|
CODNUM|1|4|0|Codice della numerazione
|
||||||
ANNO|2|4|0|Anno
|
ANNO|2|4|0|Anno
|
||||||
PROVV|1|1|0|Tipo numerazione <P>rovvisorio <D>efinitivo
|
PROVV|1|1|0|Tipo numerazione <P>rovvisorio <D>efinitivo
|
||||||
@ -74,7 +74,7 @@ CODNOTE|1|2|0|Codice note cliente
|
|||||||
NOTE|11|10|0|Note
|
NOTE|11|10|0|Note
|
||||||
G1|11|10|0|Campo generale 1
|
G1|11|10|0|Campo generale 1
|
||||||
DATAAGG|5|8|0|Data ultimo aggiornamento
|
DATAAGG|5|8|0|Data ultimo aggiornamento
|
||||||
UTENTE|1|10|0|Utente ultimo aggiornamento
|
UTENTE|1|16|0|Utente ultimo aggiornamento
|
||||||
COLL_GOLEM|11|10|0|Collegamento lista di GOLEM
|
COLL_GOLEM|11|10|0|Collegamento lista di GOLEM
|
||||||
DOCEVASO|8|1|0|Ordine evaso
|
DOCEVASO|8|1|0|Ordine evaso
|
||||||
CODCMS|1|20|0|Codice Commessa
|
CODCMS|1|20|0|Codice Commessa
|
||||||
@ -93,8 +93,10 @@ CUP|1|15|0|Codice Unico di Progetto
|
|||||||
CIG|1|10|0|Codice Identificativo di Gara
|
CIG|1|10|0|Codice Identificativo di Gara
|
||||||
MODPAG|1|1|0|Tipo contratto P.A.
|
MODPAG|1|1|0|Tipo contratto P.A.
|
||||||
CONTRATTO|1|20|0|Contratto fattura P.A.
|
CONTRATTO|1|20|0|Contratto fattura P.A.
|
||||||
CONTSEP|1|6|0|Contabilita' separata
|
CONTSEP|1|6|0|Contabilità separata
|
||||||
NOLEGGIO|1|1|0|Tipo noleggio (Spesometro)
|
NOLEGGIO|1|1|0|Tipo noleggio (pe)
|
||||||
|
COMMPREL|1|20|0|Commessa di prelievo (ci)
|
||||||
|
FASEPREL|1|10|0|Fase di prelievo (ci)
|
||||||
5
|
5
|
||||||
PROVV+ANNO+CODNUM+NDOC|
|
PROVV+ANNO+CODNUM+NDOC|
|
||||||
TIPOCF+CODCF+PROVV+ANNO+DATADOC+CODNUM+NDOC|X
|
TIPOCF+CODCF+PROVV+ANNO+DATADOC+CODNUM+NDOC|X
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
47
|
47
|
||||||
0
|
0
|
||||||
$anamag|0|0|1137|0|Anagrafica di magazzino|NART||
|
$anamag|0|0|1121|0|Anagrafica di magazzino|NART||
|
||||||
|
@ -96,8 +96,8 @@ USER15|1|20|0|Campo libero 15
|
|||||||
USER16|1|20|0|Campo libero 16
|
USER16|1|20|0|Campo libero 16
|
||||||
USER17|1|20|0|Campo libero 17
|
USER17|1|20|0|Campo libero 17
|
||||||
USER18|1|20|0|Campo libero 18
|
USER18|1|20|0|Campo libero 18
|
||||||
USER19|1|20|0|Campo libero 19
|
DATAAGG|5|8|0|
|
||||||
USER20|1|20|0|Campo libero 20
|
UTENTE|1|16|0|
|
||||||
3
|
3
|
||||||
CODART|
|
CODART|
|
||||||
UPPER(DESCR)|X
|
UPPER(DESCR)|X
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
53
|
53
|
||||||
0
|
0
|
||||||
$rcondv|0|0|217|0|Righe condizioni di vendita|||
|
$rcondv|0|0|233|0|Righe condizioni di vendita|||
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
53
|
53
|
||||||
25
|
27
|
||||||
TIPO|1|1|0|Tipo (<L>istino,<C>ontratto,<O>fferta)
|
TIPO|1|1|0|Tipo (<L>istino,<C>ontratto,<O>fferta)
|
||||||
CATVEN|1|2|0|Categoria di vendita (L)
|
CATVEN|1|2|0|Categoria di vendita (L)
|
||||||
TIPOCF|1|1|0|<C>liente o <F>ornitore (C)
|
TIPOCF|1|1|0|<C>liente o <F>ornitore (C)
|
||||||
@ -25,5 +25,7 @@ ARTES|8|1|0|Articolo in esaurimento (O)
|
|||||||
DATAULTAUM|5|8|0|Data ultimo aumento
|
DATAULTAUM|5|8|0|Data ultimo aumento
|
||||||
PRZSTO|4|18|5|Prezzo storico
|
PRZSTO|4|18|5|Prezzo storico
|
||||||
DATAPRZSTO|5|8|0|Data prezzo storico
|
DATAPRZSTO|5|8|0|Data prezzo storico
|
||||||
|
DATAAGG|5|8|0|
|
||||||
|
UTENTE|1|16|0|
|
||||||
1
|
1
|
||||||
TIPO+CATVEN+TIPOCF+CODCF+COD+TIPORIGA+CODRIGA+UM+NSCAGL|
|
TIPO+CATVEN+TIPOCF+CODCF+COD+TIPORIGA+CODRIGA+UM+NSCAGL|
|
||||||
|
280
ve/movint.src
Normal file
280
ve/movint.src
Normal file
@ -0,0 +1,280 @@
|
|||||||
|
#include "veini.h"
|
||||||
|
#include "veuml.h"
|
||||||
|
#include "verig.h"
|
||||||
|
|
||||||
|
|
||||||
|
[MAIN]
|
||||||
|
TYPE=Movimento interno
|
||||||
|
CAMPICALC=TOTMER|TOTPRE|SPESE|SPESIMB|SPESTRA|SPESINC|BOLLI|IMPONIBILI|IMPOSTE|TOTDOC|SCONTOD|SCONTOT|OMAGGI|TOTPROVV
|
||||||
|
CALCOLI=*
|
||||||
|
TOTPROVV=
|
||||||
|
// Indica se il documento è indirizzato ad un cliente o ad un fornitore
|
||||||
|
TIPOCF=C
|
||||||
|
|
||||||
|
//modulo di riferimento
|
||||||
|
MODULE=
|
||||||
|
Title(1)=Cliente
|
||||||
|
Title(2)=Spedizione
|
||||||
|
Title(3)=Trasporto
|
||||||
|
Title(4)=Righe
|
||||||
|
Title(5)=Totali
|
||||||
|
|
||||||
|
[PROFILO]
|
||||||
|
// Si possono indicare, dopo il numero, PROMPT, HELP, WARNING cosi:
|
||||||
|
// 1|Prompt|Help|Warning
|
||||||
|
|
||||||
|
// TIPOCF = S_NORMALE
|
||||||
|
// CODCF = S_OBBLIGATORIO
|
||||||
|
// RAGSOC = S_NORMALE
|
||||||
|
OCCASEDIT = S_NORMALE
|
||||||
|
OCFPI = S_DISABILITATO
|
||||||
|
COFI = S_NORMALE
|
||||||
|
STATOPAIV = S_NORMALE
|
||||||
|
PAIVA = S_NORMALE
|
||||||
|
LIQDIFF = S_NASCOSTO
|
||||||
|
IVAXCASSA = S_NASCOSTO
|
||||||
|
GOLEM = S_NASCOSTO
|
||||||
|
GRRECAPITO = S_NORMALE
|
||||||
|
INDCF = S_DISABILITATO
|
||||||
|
CIVCF = S_DISABILITATO
|
||||||
|
LOCALITACF = S_DISABILITATO
|
||||||
|
CAPCF = S_DISABILITATO
|
||||||
|
PROVCOM = S_DISABILITATO
|
||||||
|
COMCF = S_DISABILITATO
|
||||||
|
DENCOM = S_DISABILITATO
|
||||||
|
STATOCF = S_DISABILITATO
|
||||||
|
DESSTATOCF = S_DISABILITATO
|
||||||
|
PACONTRATTO = S_NASCOSTO
|
||||||
|
PATIPOCON = S_NASCOSTO
|
||||||
|
CONTSEP = S_NASCOSTO
|
||||||
|
CODVAL1 = S_NORMALE
|
||||||
|
CODVAL2 = S_NORMALE
|
||||||
|
NOME_VAL1 = S_NORMALE
|
||||||
|
NOME_VAL2 = S_NORMALE
|
||||||
|
// CONTROEURO = S_NORMALE
|
||||||
|
CAMBIO = S_NORMALE
|
||||||
|
DATA_CAMBIO1 = S_NORMALE
|
||||||
|
DATA_CAMBIO2 = S_NORMALE
|
||||||
|
CODLIN = S_NORMALE
|
||||||
|
DESLIN = S_NORMALE
|
||||||
|
CODPAG = S_OBBLIGATORIO
|
||||||
|
DESCODPAG = S_NORMALE
|
||||||
|
GRSCADENZE = S_NORMALE
|
||||||
|
DATAINSC = S_NORMALE
|
||||||
|
DATASCAD1 = S_DISABILITATO
|
||||||
|
DATASCAD2 = S_DISABILITATO
|
||||||
|
DATASCAD3 = S_DISABILITATO
|
||||||
|
DATASCAD4 = S_DISABILITATO
|
||||||
|
DATASCAD5 = S_DISABILITATO
|
||||||
|
CODABIA = S_OBBLIGATORIO
|
||||||
|
CODCABA = S_OBBLIGATORIO
|
||||||
|
CODABIA1 = S_NORMALE
|
||||||
|
CODCABA1 = S_NORMALE
|
||||||
|
DESBANAPP = S_NOCHECK
|
||||||
|
DESBANAPP1 = S_NOCHECK
|
||||||
|
IBAN = S_NORMALE
|
||||||
|
IBAN_STATO = S_NORMALE
|
||||||
|
IBAN_CHECK = S_NORMALE
|
||||||
|
BBAN = S_NORMALE
|
||||||
|
BBAN_CIN = S_NORMALE
|
||||||
|
BBAN_ABI = S_NORMALE
|
||||||
|
BBAN_CAB = S_NORMALE
|
||||||
|
BBAN_CONTO = S_NORMALE
|
||||||
|
CODABIP = S_NORMALE
|
||||||
|
CODCABP = S_NORMALE
|
||||||
|
CODABIP1 = S_NORMALE
|
||||||
|
CODCABP1 = S_NORMALE
|
||||||
|
DESBANPRE = S_NOCHECK
|
||||||
|
DESBANPRE1 = S_NOCHECK
|
||||||
|
PROGBNP = S_NOCHECK
|
||||||
|
PROGBNP1 = S_NORMALE
|
||||||
|
CATVEN = S_NORMALE
|
||||||
|
DESCATVEN = S_DISABILITATO
|
||||||
|
CODLIST = S_NORMALE
|
||||||
|
DESLIST = S_NORMALE
|
||||||
|
CODCONT = S_NORMALE
|
||||||
|
DESCONT = S_NORMALE
|
||||||
|
CODCAMP = S_NORMALE
|
||||||
|
DESCAMP = S_NORMALE
|
||||||
|
SCONTOPERC = S_NORMALE
|
||||||
|
GRINDSPED = S_NORMALE
|
||||||
|
CODINDSP = S_NORMALE
|
||||||
|
RAGSOCSP = S_DISABILITATO
|
||||||
|
INDSP = S_DISABILITATO
|
||||||
|
CIVSP = S_DISABILITATO
|
||||||
|
LOCALITASP = S_DISABILITATO
|
||||||
|
CAPSP = S_DISABILITATO
|
||||||
|
COMSP = S_DISABILITATO
|
||||||
|
DENCOMSP = S_DISABILITATO
|
||||||
|
PROVCOMSP = S_DISABILITATO
|
||||||
|
STATOSP = S_DISABILITATO
|
||||||
|
DESSTATOSP = S_DISABILITATO
|
||||||
|
DATADOCRIF = S_NORMALE
|
||||||
|
NUMDOCRIF = S_NOCHECK
|
||||||
|
CODAG = S_NORMALE
|
||||||
|
DESAG = S_NORMALE
|
||||||
|
CODAGVIS = S_NORMALE
|
||||||
|
DESAGVIS = S_NORMALE
|
||||||
|
CODZON = S_NORMALE
|
||||||
|
DESZON = S_NORMALE
|
||||||
|
CODSPMEZZO = S_OBBLIGATORIO
|
||||||
|
DESSPMEZZO = S_NORMALE
|
||||||
|
CODPORTO = S_NORMALE
|
||||||
|
DESPORTO = S_NORMALE
|
||||||
|
CODNOTESP1 = S_NORMALE
|
||||||
|
DESNOTESP1 = S_NORMALE
|
||||||
|
CODNOTESP2 = S_NORMALE
|
||||||
|
DESNOTESP2 = S_NORMALE
|
||||||
|
CAUSTRASP = S_OBBLIGATORIO
|
||||||
|
DENCAUSTRASP = S_NORMALE
|
||||||
|
CODVETT1 = S_NORMALE
|
||||||
|
CODVETT2 = S_NORMALE
|
||||||
|
CODVETT3 = S_NORMALE
|
||||||
|
NOMEVETT1 = S_NORMALE
|
||||||
|
NOMEVETT2 = S_NORMALE
|
||||||
|
NOMEVETT3 = S_NORMALE
|
||||||
|
NCOPIE = S_NASCOSTO
|
||||||
|
GRPARTENZA = S_NORMALE
|
||||||
|
DATAPART = S_NORMALE
|
||||||
|
ORAPART = S_NORMALE
|
||||||
|
IMPPAGATO = S_NASCOSTO
|
||||||
|
ACCSALDO = S_NASCOSTO
|
||||||
|
DOC1 = S_NASCOSTO
|
||||||
|
DOC2 = S_NASCOSTO
|
||||||
|
DOC3 = S_NASCOSTO
|
||||||
|
DATACONS = S_OBBLIGATORIO
|
||||||
|
ASPBENI1 = S_OBBLIGATORIO
|
||||||
|
DESCRBENI1 = S_NORMALE
|
||||||
|
ASPBENI2 = S_NASCOSTO
|
||||||
|
DESCRBENI2 = S_NASCOSTO
|
||||||
|
IMPNETTI = S_NASCOSTO
|
||||||
|
RAGGR = S_NORMALE
|
||||||
|
RAGGREFF = S_NORMALE
|
||||||
|
SPESEINC = S_NORMALE
|
||||||
|
ADDBOLLI = S_NORMALE
|
||||||
|
UMTARA = S_NORMALE
|
||||||
|
TARA = S_NORMALE
|
||||||
|
DESUMTARA = S_NASCOSTO
|
||||||
|
UMPNETTO = S_NORMALE
|
||||||
|
PNETTO = S_NORMALE
|
||||||
|
DESUMPNETTO = S_NASCOSTO
|
||||||
|
NCOLLI = S_NORMALE
|
||||||
|
CAUSMAG = S_OBBLIGATORIO
|
||||||
|
CAUSMAGC = S_DISABILITATO
|
||||||
|
DESCRMAG = S_NORMALE
|
||||||
|
DESCRMAGC = S_DISABILITATO
|
||||||
|
BLANK = S_DISABILITATO
|
||||||
|
CODNOTE = S_NORMALE
|
||||||
|
NOTECLI = S_NOCHECK
|
||||||
|
CUP = S_NORMALE
|
||||||
|
DESCRCUP = S_NORMALE
|
||||||
|
CIG = S_NORMALE
|
||||||
|
DESCRCIG = S_NORMALE
|
||||||
|
CMSH = S_NORMALE
|
||||||
|
|
||||||
|
[DEFAULT]
|
||||||
|
Default(0)=F_CAUSTRASP|VEN
|
||||||
|
|
||||||
|
[SHEET]
|
||||||
|
Col(0)=FR_CODMAG
|
||||||
|
Col(1)=FR_CODDEP
|
||||||
|
Col(2)=FR_CODART
|
||||||
|
Col(3)=FR_LIV1
|
||||||
|
Col(4)=FR_LIV2
|
||||||
|
Col(5)=FR_LIV3
|
||||||
|
Col(6)=FR_LIV4
|
||||||
|
Col(7)=FR_DESCR
|
||||||
|
Col(8)=FR_UMQTA
|
||||||
|
Col(9)=FR_QTA
|
||||||
|
Col(10)=FR_PREZZO
|
||||||
|
Col(11)=FR_SCONTO
|
||||||
|
Col(12)=FR_PERCPROV
|
||||||
|
Col(13)=FR_IMPFISUN
|
||||||
|
Col(14)=FR_IMPFISSO
|
||||||
|
Col(15)=FR_PERCPROV1
|
||||||
|
Col(16)=FR_CODIVA
|
||||||
|
Col(17)=FR_ADDIVA
|
||||||
|
Col(18)=FR_NCOLLI
|
||||||
|
Col(19)=FR_PNETTO
|
||||||
|
Col(20)=FR_TARA
|
||||||
|
Col(21)=FR_CAUS
|
||||||
|
Col(22)=FR_CODMAGC
|
||||||
|
Col(23)=FR_CODDEPC
|
||||||
|
Col(24)=FR_TIPORIGA
|
||||||
|
|
||||||
|
[RIGHE]
|
||||||
|
|
||||||
|
[HANDLERS]
|
||||||
|
// Handler(0) = F_ORAPART|1
|
||||||
|
|
||||||
|
[PROFILOGRUPPO]
|
||||||
|
101 = S_NASCOSTO
|
||||||
|
100 = S_NORMALE
|
||||||
|
200 = S_NORMALE
|
||||||
|
300 = S_NORMALE
|
||||||
|
400 = S_NASCOSTO
|
||||||
|
500 = S_NASCOSTO
|
||||||
|
600 = S_NASCOSTO
|
||||||
|
700 = S_NASCOSTO
|
||||||
|
800 = S_NASCOSTO
|
||||||
|
810 = S_NASCOSTO
|
||||||
|
820 = S_NASCOSTO
|
||||||
|
830 = S_NASCOSTO
|
||||||
|
900 = S_NORMALE
|
||||||
|
1000 = S_NASCOSTO
|
||||||
|
1100 = S_NORMALE
|
||||||
|
1200 = S_NORMALE
|
||||||
|
1210 = S_NORMALE
|
||||||
|
1300 = S_NORMALE
|
||||||
|
1400 = S_NORMALE
|
||||||
|
1500 = S_NORMALE
|
||||||
|
1600 = S_NASCOSTO
|
||||||
|
1700 = S_NORMALE
|
||||||
|
1800 = S_NORMALE
|
||||||
|
1900 = S_NORMALE
|
||||||
|
2000 = S_NORMALE
|
||||||
|
2100 = S_NORMALE
|
||||||
|
2200 = S_NASCOSTO
|
||||||
|
2300 = S_NASCOSTO
|
||||||
|
2400 = S_NASCOSTO
|
||||||
|
2500 = S_NORMALE
|
||||||
|
2700 = S_NORMALE
|
||||||
|
2710 = S_NORMALE
|
||||||
|
2800 = S_NORMALE
|
||||||
|
2900 = S_NORMALE
|
||||||
|
3000 = S_NORMALE
|
||||||
|
4000 = S_NORMALE
|
||||||
|
|
||||||
|
[ORDINEGRUPPI]
|
||||||
|
NGROUPS=30
|
||||||
|
1=100
|
||||||
|
2=2000
|
||||||
|
3=2500
|
||||||
|
4=200
|
||||||
|
5=300
|
||||||
|
6=400
|
||||||
|
7=500
|
||||||
|
8=600
|
||||||
|
9=700
|
||||||
|
10=2400
|
||||||
|
11=800
|
||||||
|
12=810
|
||||||
|
13=820
|
||||||
|
14=830
|
||||||
|
15=900
|
||||||
|
16=1100
|
||||||
|
17=1200
|
||||||
|
18=1500
|
||||||
|
19=1210
|
||||||
|
20=1300
|
||||||
|
21=1400
|
||||||
|
22=2100
|
||||||
|
23=2800
|
||||||
|
24=2700
|
||||||
|
25=2710
|
||||||
|
26=1700
|
||||||
|
27=1800
|
||||||
|
28=1000
|
||||||
|
29=2900
|
||||||
|
30=3000
|
||||||
|
|
@ -456,29 +456,27 @@ void TMotore_application::do_elab( TDocumento& doc, int when) // C 90
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
TToken_string tipi, stati;
|
if (el != NULL && el->is_document_ok(doc))
|
||||||
el->tipi_stati_iniziali(tipi, stati);
|
|
||||||
if (stati.find(doc.stato()) >= 0)
|
|
||||||
{
|
{
|
||||||
TLista_documenti in; in.add(doc);
|
TLista_documenti in; in.add(doc);
|
||||||
TLista_documenti out;
|
TLista_documenti out;
|
||||||
|
|
||||||
TDocumento newdoc(doc.get_char(DOC_PROVV), doc.get_int(DOC_ANNO), el->codice_numerazione_finale(), 0L);
|
|
||||||
if (when == 0)
|
if (when == 0)
|
||||||
{
|
{
|
||||||
TDocumento::copy_data(newdoc.head(), doc.head());
|
TDocumento* newdoc = new TDocumento(doc.get_char(DOC_PROVV), doc.get_int(DOC_ANNO), el->codice_numerazione_finale(), 0L);
|
||||||
newdoc.put(DOC_TIPODOC, el->tipo_finale());
|
TDocumento::copy_data(newdoc->head(), doc.head());
|
||||||
newdoc.put(DOC_STATO, el->stato_finale());
|
newdoc->put(DOC_TIPODOC, el->tipo_finale());
|
||||||
if (newdoc.tipo().mov_mag())
|
newdoc->put(DOC_STATO, el->stato_finale());
|
||||||
newdoc.put(DOC_CAUSMAG, newdoc.tipo().caus_mov());
|
if (newdoc->tipo().mov_mag())
|
||||||
|
newdoc->put(DOC_CAUSMAG, newdoc->tipo().caus_mov());
|
||||||
else
|
else
|
||||||
newdoc.zero(DOC_CAUSMAG);
|
newdoc->zero(DOC_CAUSMAG);
|
||||||
out.add(newdoc);
|
out.add(newdoc);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (el->elabora(in, out, TDate(TODAY), true))
|
if (el->elabora(in, out, TDate(TODAY), true))
|
||||||
{
|
{
|
||||||
if (when == 0 && out.items() && out[0] != newdoc)
|
if (when == 0 && out.items() && out[0].numero() > 0L)
|
||||||
out.rewrite();
|
out.rewrite();
|
||||||
if (when < 2 && in.items() && in[0] != doc)
|
if (when < 2 && in.items() && in[0] != doc)
|
||||||
doc = in[0];
|
doc = in[0];
|
||||||
@ -622,8 +620,10 @@ static bool num_filter(const TRelation* r)
|
|||||||
const TCodice_numerazione& cod_num = cached_numerazione(r->curr().get("CODTAB"));
|
const TCodice_numerazione& cod_num = cached_numerazione(r->curr().get("CODTAB"));
|
||||||
const int last = cod_num.ntipi_doc();
|
const int last = cod_num.ntipi_doc();
|
||||||
for (int i = 0; i < last; i++)
|
for (int i = 0; i < last; i++)
|
||||||
if (tipodoc_ok(cod_num.tipo_doc(i)))
|
{
|
||||||
|
if (is_tipodoc_ok(cod_num.tipo_doc(i)))
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
236
ve/ve0200g.uml
236
ve/ve0200g.uml
@ -6,6 +6,11 @@ ENDPAGE
|
|||||||
|
|
||||||
PAGE "Distinta Base" 0 0 0 0
|
PAGE "Distinta Base" 0 0 0 0
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 78 9
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "@bParametri esplosione ditinte"
|
||||||
|
END
|
||||||
|
|
||||||
BOOLEAN F_EXPLODEDB
|
BOOLEAN F_EXPLODEDB
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 "Esplosione distinte"
|
PROMPT 2 2 "Esplosione distinte"
|
||||||
@ -14,14 +19,9 @@ BEGIN
|
|||||||
FIELD EXPLODEDB
|
FIELD EXPLODEDB
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 14
|
|
||||||
BEGIN
|
|
||||||
PROMPT 1 4 "Parametri esplosione"
|
|
||||||
END
|
|
||||||
|
|
||||||
LISTBOX F_VALCOMP 15
|
LISTBOX F_VALCOMP 15
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 6 "Calcolo valore su "
|
PROMPT 2 3 "Calcolo valore su "
|
||||||
ITEM " |Prodotto finito"
|
ITEM " |Prodotto finito"
|
||||||
ITEM "X|Componenti"
|
ITEM "X|Componenti"
|
||||||
FIELD VALCOMP
|
FIELD VALCOMP
|
||||||
@ -30,7 +30,7 @@ END
|
|||||||
|
|
||||||
LISTBOX F_TIPOESPL 20
|
LISTBOX F_TIPOESPL 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 8 "Tipo esplosione "
|
PROMPT 2 4 "Tipo esplosione "
|
||||||
ITEM " |Scalare"
|
ITEM " |Scalare"
|
||||||
ITEM "X|Materiali di base"
|
ITEM "X|Materiali di base"
|
||||||
FIELD TIPOESPL
|
FIELD TIPOESPL
|
||||||
@ -39,7 +39,7 @@ END
|
|||||||
|
|
||||||
LIST F_RAGGART 34
|
LIST F_RAGGART 34
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 10 "Raggruppo articoli "
|
PROMPT 2 5 "Raggrupp. articoli "
|
||||||
ITEM "0|Nessun raggruppamento"
|
ITEM "0|Nessun raggruppamento"
|
||||||
ITEM "1|Converti nell'unita' principale"
|
ITEM "1|Converti nell'unita' principale"
|
||||||
ITEM "1|Converti nell'unita' di distinta"
|
ITEM "1|Converti nell'unita' di distinta"
|
||||||
@ -52,14 +52,14 @@ END
|
|||||||
|
|
||||||
NUMBER F_LIVELLO 3
|
NUMBER F_LIVELLO 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 12 "Livello esplosione "
|
PROMPT 2 6 "Livello esplosione "
|
||||||
FIELD LIVESPL
|
FIELD LIVESPL
|
||||||
GROUP 8
|
GROUP 8
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_ORDDB 3
|
NUMBER F_ORDDB 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 14 "Ordinamento distinta "
|
PROMPT 2 7 "Ordinamento distinta "
|
||||||
USE ORD
|
USE ORD
|
||||||
INPUT CODTAB F_ORDDB
|
INPUT CODTAB F_ORDDB
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
@ -73,17 +73,76 @@ END
|
|||||||
|
|
||||||
STRING F_DESORDDB 47
|
STRING F_DESORDDB 47
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 30 14 ""
|
PROMPT 30 7 ""
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_ELRORIG
|
BOOLEAN F_ELRORIG
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 16 "Elimino la riga originale"
|
PROMPT 2 8 "Eliminare la riga originale"
|
||||||
FIELD ELRORIG
|
FIELD ELRORIG
|
||||||
GROUP 8
|
GROUP 8
|
||||||
END
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 78 7
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 10 "@bParametri articoli"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_IVA_OBBL
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 11 "Codice IVA obbligatorio sugli articoli"
|
||||||
|
FIELD IVA_OBBL
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 56 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 12 "@bGenerazione automatica codici"
|
||||||
|
END
|
||||||
|
|
||||||
|
LIST F_GEN_EAN 2 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 13 "Codice articolo "
|
||||||
|
ITEM " |Nulla"
|
||||||
|
ITEM "08|EAN 8"
|
||||||
|
ITEM "13|EAN 13"
|
||||||
|
FIELD GEN_EAN
|
||||||
|
END
|
||||||
|
|
||||||
|
LIST F_ALT_EAN 2 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 14 "Codice alternativo "
|
||||||
|
ITEM " |Nulla"
|
||||||
|
ITEM "08|EAN 8"
|
||||||
|
ITEM "13|EAN 13"
|
||||||
|
FIELD ALT_EAN
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 20 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 57 12 "@bPrefissi"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_EAN8 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 61 13 "EAN 8 "
|
||||||
|
FIELD EAN8
|
||||||
|
FLAGS "Z"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_EAN8CIN
|
||||||
|
BEGIN
|
||||||
|
PROMPT 36 13 "Genera CIN EAN8"
|
||||||
|
FIELD EAN8CIN
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_EAN13 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 61 14 "EAN 13 "
|
||||||
|
FIELD EAN13
|
||||||
|
FLAGS "Z"
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "Articoli 1" 1 1 60 14
|
PAGE "Articoli 1" 1 1 60 14
|
||||||
@ -982,159 +1041,6 @@ BEGIN
|
|||||||
GROUP 28
|
GROUP 28
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 3
|
|
||||||
BEGIN
|
|
||||||
PROMPT 1 11 ""
|
|
||||||
END
|
|
||||||
|
|
||||||
BOOLEAN F_CHK_USER19
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 11 "Campo libero 19"
|
|
||||||
MESSAGE FALSE CLEAR,29@
|
|
||||||
MESSAGE TRUE ENABLE,29@
|
|
||||||
FIELD CHK_USER[19]
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING F_PROMPT_USER19 18
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 12 "Prompt "
|
|
||||||
FIELD PROMPT_USER[19]
|
|
||||||
GROUP 29
|
|
||||||
END
|
|
||||||
|
|
||||||
LISTBOX F_TYPE_USER19 7
|
|
||||||
BEGIN
|
|
||||||
PROMPT 30 12 "Tipo "
|
|
||||||
ITEM "S|Stringa" MESSAGE ENABLE,F_LEN_USER19|CLEAR,F_DEC_USER19
|
|
||||||
ITEM "N|Numero" MESSAGE ENABLE,F_LEN_USER19|ENABLE,F_DEC_USER19
|
|
||||||
ITEM "I|Importo" MESSAGE ENABLE,F_LEN_USER19|CLEAR,F_DEC_USER19
|
|
||||||
ITEM "D|Data" MESSAGE CLEAR,F_LEN_USER19|CLEAR,F_DEC_USER19
|
|
||||||
ITEM "X|Si/no" MESSAGE CLEAR,F_LEN_USER19|CLEAR,F_DEC_USER19
|
|
||||||
FIELD TYPE_USER[19]
|
|
||||||
GROUP 29
|
|
||||||
END
|
|
||||||
|
|
||||||
NUMBER F_LEN_USER19 2
|
|
||||||
BEGIN
|
|
||||||
PROMPT 45 12 "Lunghezza "
|
|
||||||
FIELD LEN_USER[19]
|
|
||||||
GROUP 29
|
|
||||||
FLAGS "U"
|
|
||||||
NUM_EXPR (#THIS_FIELD>0)&&(#THIS_FIELD<=20)
|
|
||||||
WARNING "La lunghezza del campo deve essere maggiore di 0 e non puo' superare 20 caratteri"
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING F_DEC_USER19 2
|
|
||||||
BEGIN
|
|
||||||
PROMPT 58 12 "Decimali "
|
|
||||||
FIELD DEC_USER[19]
|
|
||||||
GROUP 29
|
|
||||||
END
|
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 3
|
|
||||||
BEGIN
|
|
||||||
PROMPT 1 14 ""
|
|
||||||
END
|
|
||||||
|
|
||||||
BOOLEAN F_CHK_USER20
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 14 "Campo libero 20"
|
|
||||||
MESSAGE FALSE CLEAR,30@
|
|
||||||
MESSAGE TRUE ENABLE,30@
|
|
||||||
FIELD CHK_USER[20]
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING F_PROMPT_USER20 18
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 15 "Prompt "
|
|
||||||
FIELD PROMPT_USER[20]
|
|
||||||
GROUP 30
|
|
||||||
END
|
|
||||||
|
|
||||||
LISTBOX F_TYPE_USER20 7
|
|
||||||
BEGIN
|
|
||||||
PROMPT 30 15 "Tipo "
|
|
||||||
ITEM "S|Stringa" MESSAGE ENABLE,F_LEN_USER20|CLEAR,F_DEC_USER20
|
|
||||||
ITEM "N|Numero" MESSAGE ENABLE,F_LEN_USER20|ENABLE,F_DEC_USER20
|
|
||||||
ITEM "I|Importo" MESSAGE ENABLE,F_LEN_USER20|CLEAR,F_DEC_USER20
|
|
||||||
ITEM "D|Data" MESSAGE CLEAR,F_LEN_USER20|CLEAR,F_DEC_USER20
|
|
||||||
ITEM "X|Si/no" MESSAGE CLEAR,F_LEN_USER20|CLEAR,F_DEC_USER20
|
|
||||||
FIELD TYPE_USER[20]
|
|
||||||
GROUP 30
|
|
||||||
END
|
|
||||||
|
|
||||||
NUMBER F_LEN_USER20 2
|
|
||||||
BEGIN
|
|
||||||
PROMPT 45 15 "Lunghezza "
|
|
||||||
FIELD LEN_USER[20]
|
|
||||||
GROUP 30
|
|
||||||
FLAGS "U"
|
|
||||||
NUM_EXPR (#THIS_FIELD>0)&&(#THIS_FIELD<=20)
|
|
||||||
WARNING "La lunghezza del campo deve essere maggiore di 0 e non puo' superare 20 caratteri"
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING F_DEC_USER20 2
|
|
||||||
BEGIN
|
|
||||||
PROMPT 58 15 "Decimali "
|
|
||||||
FIELD DEC_USER[20]
|
|
||||||
GROUP 30
|
|
||||||
END
|
|
||||||
|
|
||||||
BOOLEAN F_IVA_OBBL
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 17 "Codice IVA obbligatorio sugli articoli"
|
|
||||||
FIELD IVA_OBBL
|
|
||||||
END
|
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 56 4
|
|
||||||
BEGIN
|
|
||||||
PROMPT 1 18 "@bGenerazione automatica codici"
|
|
||||||
END
|
|
||||||
|
|
||||||
LIST F_GEN_EAN 2 6
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 19 "Codice articolo "
|
|
||||||
ITEM " |Nulla"
|
|
||||||
ITEM "08|EAN 8"
|
|
||||||
ITEM "13|EAN 13"
|
|
||||||
FIELD GEN_EAN
|
|
||||||
END
|
|
||||||
|
|
||||||
LIST F_ALT_EAN 2 6
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 20 "Codice alternativo "
|
|
||||||
ITEM " |Nulla"
|
|
||||||
ITEM "08|EAN 8"
|
|
||||||
ITEM "13|EAN 13"
|
|
||||||
FIELD ALT_EAN
|
|
||||||
END
|
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 20 4
|
|
||||||
BEGIN
|
|
||||||
PROMPT 59 18 "@bPrefissi"
|
|
||||||
END
|
|
||||||
|
|
||||||
NUMBER F_EAN8 4
|
|
||||||
BEGIN
|
|
||||||
PROMPT 62 19 "EAN 8 "
|
|
||||||
FIELD EAN8
|
|
||||||
FLAGS "Z"
|
|
||||||
END
|
|
||||||
|
|
||||||
BOOLEAN F_EAN8CIN
|
|
||||||
BEGIN
|
|
||||||
PROMPT 37 19 "Genera CIN EAN8"
|
|
||||||
FIELD EAN8CIN
|
|
||||||
END
|
|
||||||
|
|
||||||
NUMBER F_EAN13 6
|
|
||||||
BEGIN
|
|
||||||
PROMPT 62 20 "EAN 13 "
|
|
||||||
FIELD EAN13
|
|
||||||
FLAGS "Z"
|
|
||||||
END
|
|
||||||
|
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
@ -267,7 +267,7 @@ void TContabilizzazione_analitica_app::contabilize()
|
|||||||
//E finalmente fa l'agognata elaborazione!!!!!
|
//E finalmente fa l'agognata elaborazione!!!!!
|
||||||
TString16 elaborazione = _msk->get(F_CODICE_ELAB);
|
TString16 elaborazione = _msk->get(F_CODICE_ELAB);
|
||||||
TContabilizzazione_analitica contanal(elaborazione);
|
TContabilizzazione_analitica contanal(elaborazione);
|
||||||
contanal.elabora(lista_in, lista_out, data_reg);
|
contanal.elabora(lista_in, lista_out, data_reg, true);
|
||||||
|
|
||||||
if (contanal.processed_docs() > 0L)
|
if (contanal.processed_docs() > 0L)
|
||||||
message_box(FR("Totale documenti contabilizzati: %ld"), contanal.processed_docs());
|
message_box(FR("Totale documenti contabilizzati: %ld"), contanal.processed_docs());
|
||||||
|
@ -210,7 +210,6 @@ Item_04 = "Contabilizzazione spese e bolli", "ve0 -2 -4", "F"
|
|||||||
Item_05 = "Contabilizzazione", "ve0 -2 -5", "F"
|
Item_05 = "Contabilizzazione", "ve0 -2 -5", "F"
|
||||||
Item_06 = "Conti per categoria e gruppo", "ve0 -6 &CVM", "F"
|
Item_06 = "Conti per categoria e gruppo", "ve0 -6 &CVM", "F"
|
||||||
Item_07 = "Gestione spese e bolli", "ve0 -2 -6", "F"
|
Item_07 = "Gestione spese e bolli", "ve0 -2 -6", "F"
|
||||||
Item_08 = "Articoli e Distinte", "ve0 -2 -7", "F"
|
|
||||||
Item_09 = "Configurazione contabilità", "cg5 -1", "F"
|
Item_09 = "Configurazione contabilità", "cg5 -1", "F"
|
||||||
Item_10 = "Fido cliente", "ve0 -2 -8", "F"
|
Item_10 = "Fido cliente", "ve0 -2 -8", "F"
|
||||||
|
|
||||||
@ -233,6 +232,7 @@ Flags = ""
|
|||||||
Item_01 = "Parametri di magazzino", "mg0 -2 -1", "F"
|
Item_01 = "Parametri di magazzino", "mg0 -2 -1", "F"
|
||||||
Item_02 = "Formato codice articoli", "mg0 -0 FCA", "F"
|
Item_02 = "Formato codice articoli", "mg0 -0 FCA", "F"
|
||||||
Item_03 = "Formato codice giacenze", "mg0 -0 FCG", "F"
|
Item_03 = "Formato codice giacenze", "mg0 -0 FCG", "F"
|
||||||
|
Item_04 = "Articoli e Distinte", "ve0 -2 -7", "F"
|
||||||
|
|
||||||
[ACQVEN_023]
|
[ACQVEN_023]
|
||||||
Caption = "Archivi contabili"
|
Caption = "Archivi contabili"
|
||||||
@ -287,4 +287,5 @@ Caption = "Verticalizzazioni"
|
|||||||
Picture = <ve01>
|
Picture = <ve01>
|
||||||
Module = 0
|
Module = 0
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Caffè Hardy", <hamenu.men>, "", 10232
|
Item_01 = "Bee Store", <bsmenu.men>, "", 9015
|
||||||
|
Item_02 = "Caffè Hardy", <hamenu.men>, "", 10232
|
||||||
|
@ -299,6 +299,8 @@ public:
|
|||||||
const TString& elaborazione() const {return get("S3").mid(4,8); }
|
const TString& elaborazione() const {return get("S3").mid(4,8); }
|
||||||
const TString& elaborazione_stampa() const {return get("S3").mid(12,8); }
|
const TString& elaborazione_stampa() const {return get("S3").mid(12,8); }
|
||||||
const TString& elaborazione_definitiva() const {return get("S3").mid(20,8); }
|
const TString& elaborazione_definitiva() const {return get("S3").mid(20,8); }
|
||||||
|
const TString& elaborazione_speciale() const {return get("S3").mid(28,8); }
|
||||||
|
bool movimento_interno() const;
|
||||||
const TString & caus_mov() const {return get("S9"); } // Causale di magazzino
|
const TString & caus_mov() const {return get("S9"); } // Causale di magazzino
|
||||||
const TString & caus_anticipo() const {return get("S10"); }
|
const TString & caus_anticipo() const {return get("S10"); }
|
||||||
const TString & tipi_iva_validi() const {return get("S11"); }
|
const TString & tipi_iva_validi() const {return get("S11"); }
|
||||||
@ -1018,6 +1020,7 @@ public:
|
|||||||
static bool codval_handler( TMask_field& f, KEY key );
|
static bool codval_handler( TMask_field& f, KEY key );
|
||||||
static bool confirm_handler( TMask_field& f, KEY key );
|
static bool confirm_handler( TMask_field& f, KEY key );
|
||||||
static bool barcode_handler( TMask_field& f, KEY key );
|
static bool barcode_handler( TMask_field& f, KEY key );
|
||||||
|
static bool movint_handler( TMask_field& f, KEY key );
|
||||||
static bool sort_row_handler( TMask_field& f, KEY key );
|
static bool sort_row_handler( TMask_field& f, KEY key );
|
||||||
static bool ss_notify(TSheet_field& ss, int r, KEY key);
|
static bool ss_notify(TSheet_field& ss, int r, KEY key);
|
||||||
static bool ss_handler(TMask_field& f, KEY key);
|
static bool ss_handler(TMask_field& f, KEY key);
|
||||||
|
@ -3008,6 +3008,10 @@ void TDocumento::update_conai()
|
|||||||
bool TDocumento::is_evaso() const
|
bool TDocumento::is_evaso() const
|
||||||
{
|
{
|
||||||
bool ok = is_ordine() || is_bolla() || is_generic();
|
bool ok = is_ordine() || is_bolla() || is_generic();
|
||||||
|
|
||||||
|
if (ok && tipo().is_ordine_quadro())
|
||||||
|
return false;
|
||||||
|
|
||||||
for (int r = 1; ok && r <= physical_rows(); r++)
|
for (int r = 1; ok && r <= physical_rows(); r++)
|
||||||
{
|
{
|
||||||
const TRiga_documento& riga = physical_row(r);
|
const TRiga_documento& riga = physical_row(r);
|
||||||
|
@ -171,21 +171,29 @@ const TString& TTipo_documento::riferimento(const TDocumento & doc, TString& rif
|
|||||||
}
|
}
|
||||||
|
|
||||||
TString val;
|
TString val;
|
||||||
|
switch (field.file())
|
||||||
if (field.file() == LF_DOC)
|
|
||||||
{
|
{
|
||||||
val = field.read(doc);
|
case LF_CLIFO:
|
||||||
rif.insert(val, p);
|
case LF_CFVEN:
|
||||||
}
|
if (doc.get_long(DOC_CODCF) > 0)
|
||||||
else
|
|
||||||
{
|
{
|
||||||
TString8 key(doc.get(DOC_TIPOCF));
|
TString8 key; key << doc.get(DOC_TIPOCF) << '|' << doc.get(DOC_CODCF);
|
||||||
key << '|' << doc.get(DOC_CODCF);
|
|
||||||
|
|
||||||
const TRectype& rec = cache().get(field.file(), key);
|
const TRectype& rec = cache().get(field.file(), key);
|
||||||
val = field.read(rec);
|
val = field.read(rec);
|
||||||
rif.insert(val, p);
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
case LF_OCCAS:
|
||||||
|
if (doc.get_char(DOC_TIPOCF) == 'C' && doc.get(DOC_OCFPI).full())
|
||||||
|
{
|
||||||
|
const TRectype& rec = cache().get(LF_OCCAS, doc.get(DOC_OCFPI));
|
||||||
|
val = field.read(rec);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
val = field.read(doc);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
rif.insert(val, p);
|
||||||
|
|
||||||
switch (conn)
|
switch (conn)
|
||||||
{
|
{
|
||||||
@ -449,6 +457,17 @@ void TTipo_documento::read_formule()
|
|||||||
_check_double_art = prof.get_bool("CHECK_DOUBLE_ART");
|
_check_double_art = prof.get_bool("CHECK_DOUBLE_ART");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TTipo_documento::movimento_interno() const
|
||||||
|
{
|
||||||
|
const TString& elab = elaborazione();
|
||||||
|
if (elab.full())
|
||||||
|
{
|
||||||
|
const TString& app = cache().get("%ELD", elab, "S3");
|
||||||
|
return app.starts_with("ci1 -4", true);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bool TTipo_documento::stato_with_mov_mag(const char stato) const
|
bool TTipo_documento::stato_with_mov_mag(const char stato) const
|
||||||
{
|
{
|
||||||
if (!mov_mag())
|
if (!mov_mag())
|
||||||
|
@ -537,8 +537,9 @@ bool TElaborazione_esterna::elabora(TLista_documenti& doc_in, TLista_documenti&
|
|||||||
return error_box("Non è stato specificato il nome del'applicazione esterna");
|
return error_box("Non è stato specificato il nome del'applicazione esterna");
|
||||||
CHECK(doc_in.items() == 1, "Si deve specificare un solo documento in entrata");
|
CHECK(doc_in.items() == 1, "Si deve specificare un solo documento in entrata");
|
||||||
CHECK(doc_out.items() <= 1, "Si deve specificare un solo documento in uscita");
|
CHECK(doc_out.items() <= 1, "Si deve specificare un solo documento in uscita");
|
||||||
TFilename name; name.temp("ext");
|
TDocumento& d = doc_in[0];
|
||||||
|
|
||||||
|
TFilename name; name.temp("ext");
|
||||||
TString16 par;
|
TString16 par;
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -554,10 +555,16 @@ bool TElaborazione_esterna::elabora(TLista_documenti& doc_in, TLista_documenti&
|
|||||||
c.set("CodNumOut", doc_out[0].get(DOC_CODNUM));
|
c.set("CodNumOut", doc_out[0].get(DOC_CODNUM));
|
||||||
c.set("NDocOut", doc_out[0].get(DOC_NDOC));
|
c.set("NDocOut", doc_out[0].get(DOC_NDOC));
|
||||||
}
|
}
|
||||||
|
else if (codice_numerazione_finale().full())
|
||||||
|
{
|
||||||
|
c.set("ProvvOut", d.get(DOC_PROVV));
|
||||||
|
c.set("AnnoOut", d.get(DOC_ANNO));
|
||||||
|
c.set("CodNumOut", codice_numerazione_finale());
|
||||||
|
c.set("NDocOut", 0L);
|
||||||
|
}
|
||||||
|
|
||||||
par.format("%d", LF_DOC);
|
par.format("%d", LF_DOC);
|
||||||
|
|
||||||
TDocumento& d = doc_in[0];
|
|
||||||
const int doc_fields = d.items();
|
const int doc_fields = d.items();
|
||||||
for (int i = 0; i < doc_fields; i++)
|
for (int i = 0; i < doc_fields; i++)
|
||||||
{
|
{
|
||||||
@ -608,25 +615,25 @@ bool TElaborazione_esterna::elabora(TLista_documenti& doc_in, TLista_documenti&
|
|||||||
c.list_paragraphs(p);
|
c.list_paragraphs(p);
|
||||||
d.destroy_rows();
|
d.destroy_rows();
|
||||||
|
|
||||||
int r = 1 ;
|
for (int r = 1; ; r++)
|
||||||
par.format("%d,%d", LF_RIGHEDOC, r);
|
|
||||||
while (p.find(par) >= 0)
|
|
||||||
{
|
{
|
||||||
const TString& tiporiga = c.get(RDOC_TIPORIGA, par);
|
par.format("%d,%d", LF_RIGHEDOC, r);
|
||||||
|
if (p.find(par) < 0)
|
||||||
|
break;
|
||||||
|
const TString& tiporiga = c.get(RDOC_TIPORIGA, par, -1, "01");
|
||||||
TRiga_documento& row = d.new_row(tiporiga);
|
TRiga_documento& row = d.new_row(tiporiga);
|
||||||
for (int i = row.items()-1; i >= 0; i--)
|
for (int i = row.items()-1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
const char* fname = row.fieldname(i);
|
const char* fname = row.fieldname(i);
|
||||||
const TFieldref f(fname, LF_RIGHEDOC);
|
const TFieldref f(fname, LF_RIGHEDOC);
|
||||||
const TString& val = f.read(c, par);
|
const TString& val = f.read(c, par);
|
||||||
if (val.not_empty())
|
if (val.full())
|
||||||
row.put(fname, val);
|
row.put(fname, val);
|
||||||
}
|
}
|
||||||
par.format("%d,%d", LF_RIGHEDOC, ++r);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const char final = stato_finale_doc_iniziale()[0];
|
const char final = stato_finale_doc_iniziale()[0];
|
||||||
if (d.stato() != final)
|
if (final > '0' && d.stato() != final)
|
||||||
d.stato(final);
|
d.stato(final);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -635,11 +642,13 @@ bool TElaborazione_esterna::elabora(TLista_documenti& doc_in, TLista_documenti&
|
|||||||
{
|
{
|
||||||
if (doc_out.items())
|
if (doc_out.items())
|
||||||
{
|
{
|
||||||
|
const TString& ndoc = c.get("NDocOut", "Transaction");
|
||||||
|
if (ndoc != doc_out[0].get(DOC_NDOC))
|
||||||
|
doc_out[0].put(DOC_NDOC, ndoc);
|
||||||
doc_out[0].read();
|
doc_out[0].read();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -642,7 +642,7 @@ protected:
|
|||||||
const TCausale& rdoc2caus(const TRiga_documento& rdoc);
|
const TCausale& rdoc2caus(const TRiga_documento& rdoc);
|
||||||
|
|
||||||
void init_distrib(TString_array& conti, TGeneric_distrib& distrib, bool pareggio);
|
void init_distrib(TString_array& conti, TGeneric_distrib& distrib, bool pareggio);
|
||||||
void calcola_date_comp(const TDocumento& doc, TDate& datacomp, TDate& datafcomp, int annoes);
|
int calcola_date_comp(const TDocumento& doc, TDate& datacomp, TDate& datafcomp) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
bool search_costo_ricavo(const TRiga_documento& riga, TBill& conto, bool riclassifica_fdr_fde);
|
bool search_costo_ricavo(const TRiga_documento& riga, TBill& conto, bool riclassifica_fdr_fde);
|
||||||
|
@ -220,17 +220,20 @@ void TConsegna_mask::doc2mask(const TDocumento& indoc, const TDocumento& outdoc,
|
|||||||
TEsercizi_contabili esc;
|
TEsercizi_contabili esc;
|
||||||
const int codes = esc.date2esc(oggi);
|
const int codes = esc.date2esc(oggi);
|
||||||
|
|
||||||
const bool show_evaded = indoc.tipo().mostra_righe_evase_in_elaborazione();
|
const TTipo_documento& tip = indoc.tipo();
|
||||||
|
const bool ordine_quadro = tip.is_ordine_quadro();
|
||||||
|
const bool show_evaded = ordine_quadro || tip.mostra_righe_evase_in_elaborazione();
|
||||||
|
|
||||||
TSheet_field& s = sfield(F_ROWS);
|
TSheet_field& s = sfield(F_ROWS);
|
||||||
s.destroy();
|
s.destroy();
|
||||||
|
|
||||||
const int rows = indoc.physical_rows();
|
const int rows = indoc.physical_rows();
|
||||||
int rowno = 0;
|
int rowno = 0;
|
||||||
for (int i = 0; i < rows; i++)
|
for (int i = 0; i < rows; i++)
|
||||||
{
|
{
|
||||||
const TRiga_documento& rec = indoc[i+1];
|
const TRiga_documento& rec = indoc[i+1];
|
||||||
const real residuo = rec.qtaresidua();
|
const real residuo = rec.qtaresidua();
|
||||||
const bool evasa = residuo.is_zero();
|
const bool evasa = residuo.is_zero() && !ordine_quadro;
|
||||||
bool show_line = show_evaded || !evasa;
|
bool show_line = show_evaded || !evasa;
|
||||||
if (rec.is_descrizione())
|
if (rec.is_descrizione())
|
||||||
show_line = !_ignora_descrizioni;
|
show_line = !_ignora_descrizioni;
|
||||||
@ -355,7 +358,6 @@ bool TConsegna_ordini::aggiorna_ncolli_tara_pnetto(TRiga_documento& r) const
|
|||||||
TArticolo& articolo = cached_article(codart);
|
TArticolo& articolo = cached_article(codart);
|
||||||
const real qta = articolo.convert_to_um(r.quantita(), NULL, r.get(RDOC_UMQTA));
|
const real qta = articolo.convert_to_um(r.quantita(), NULL, r.get(RDOC_UMQTA));
|
||||||
real ncolli, tara, pnetto;
|
real ncolli, tara, pnetto;
|
||||||
|
|
||||||
const bool ok = calcola_ncolli_tara_pnetto(codart, qta, ncolli, tara, pnetto);
|
const bool ok = calcola_ncolli_tara_pnetto(codart, qta, ncolli, tara, pnetto);
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
@ -363,7 +365,6 @@ bool TConsegna_ordini::aggiorna_ncolli_tara_pnetto(TRiga_documento& r) const
|
|||||||
r.put(RDOC_TARA, tara);
|
r.put(RDOC_TARA, tara);
|
||||||
r.put(RDOC_PNETTO, pnetto);
|
r.put(RDOC_PNETTO, pnetto);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -400,7 +401,6 @@ bool TConsegna_ordini::genera_righe_riferimento(const TDocumento& indoc, TDocume
|
|||||||
}
|
}
|
||||||
|
|
||||||
const TString4 numrif = num_riferimenti_in();
|
const TString4 numrif = num_riferimenti_in();
|
||||||
|
|
||||||
if (numrif.full())
|
if (numrif.full())
|
||||||
{
|
{
|
||||||
TAssoc_array doc_rows;
|
TAssoc_array doc_rows;
|
||||||
@ -426,7 +426,6 @@ bool TConsegna_ordini::genera_righe_riferimento(const TDocumento& indoc, TDocume
|
|||||||
query << "\nTO " << select;
|
query << "\nTO " << select;
|
||||||
|
|
||||||
TISAM_recordset recset(query);
|
TISAM_recordset recset(query);
|
||||||
|
|
||||||
for (bool ok = recset.move_first(); ok; ok = recset.move_next())
|
for (bool ok = recset.move_first(); ok; ok = recset.move_next())
|
||||||
{
|
{
|
||||||
const char provv = recset.get(RDOC_PROVV).as_string()[0];
|
const char provv = recset.get(RDOC_PROVV).as_string()[0];
|
||||||
@ -820,8 +819,7 @@ bool TConsegna_ordini::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
|
|||||||
}
|
}
|
||||||
// Crea una nuova riga merce senza articolo e con sola descrizione, qta ed um
|
// Crea una nuova riga merce senza articolo e con sola descrizione, qta ed um
|
||||||
TRiga_documento& outrec = outdoc.insert_row(i+1, tiporiga);
|
TRiga_documento& outrec = outdoc.insert_row(i+1, tiporiga);
|
||||||
TString descr;
|
TString descr; descr << TR("Scarto ") << codart;
|
||||||
descr << TR("Scarto") << ' ' << codart;
|
|
||||||
outrec.put(RDOC_DESCR, descr);
|
outrec.put(RDOC_DESCR, descr);
|
||||||
TToken_string& ska = *(TToken_string*)obj;
|
TToken_string& ska = *(TToken_string*)obj;
|
||||||
outrec.put(RDOC_UMQTA, ska.get(0));
|
outrec.put(RDOC_UMQTA, ska.get(0));
|
||||||
@ -846,8 +844,6 @@ bool TConsegna_ordini::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
|
|||||||
FOR_EACH_PHYSICAL_RDOC_BACK(indoc, i, rdoc)
|
FOR_EACH_PHYSICAL_RDOC_BACK(indoc, i, rdoc)
|
||||||
{
|
{
|
||||||
TRiga_documento& inrec = *rdoc;
|
TRiga_documento& inrec = *rdoc;
|
||||||
const int nrow = inrec.get_int(RDOC_NRIGA);
|
|
||||||
|
|
||||||
if (inrec.is_evasa())
|
if (inrec.is_evasa())
|
||||||
indoc.destroy_row(i, true);
|
indoc.destroy_row(i, true);
|
||||||
else
|
else
|
||||||
@ -855,7 +851,6 @@ bool TConsegna_ordini::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
|
|||||||
const real evaso = inrec.qtaevasa();
|
const real evaso = inrec.qtaevasa();
|
||||||
const char* fq = inrec.field_qta();
|
const char* fq = inrec.field_qta();
|
||||||
const char* fqe = inrec.field_qtaevasa();
|
const char* fqe = inrec.field_qtaevasa();
|
||||||
|
|
||||||
inrec.add(fq, -evaso); // nuovo modo di incrementare
|
inrec.add(fq, -evaso); // nuovo modo di incrementare
|
||||||
inrec.zero(fqe);
|
inrec.zero(fqe);
|
||||||
}
|
}
|
||||||
|
@ -302,7 +302,7 @@ bool TContabilizzazione_analitica::search_costo_ricavo(const TRiga_documento& r,
|
|||||||
|
|
||||||
if (rdoc != NULL && rdoc->get(RDOC_PROVV).not_empty())
|
if (rdoc != NULL && rdoc->get(RDOC_PROVV).not_empty())
|
||||||
{
|
{
|
||||||
TString80 key(rdoc->get(RDOC_CODNUM));
|
TString80 key = rdoc->get(RDOC_CODNUM);
|
||||||
|
|
||||||
const TCodice_numerazione& num = cached_numerazione(key);
|
const TCodice_numerazione& num = cached_numerazione(key);
|
||||||
if (num.fattura_emettere_ricevere())
|
if (num.fattura_emettere_ricevere())
|
||||||
@ -334,11 +334,12 @@ bool TContabilizzazione_analitica::search_costo_ricavo(const TRiga_documento& r,
|
|||||||
return conto.ok() && conto.find();
|
return conto.ok() && conto.find();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TContabilizzazione_analitica::find_conti_iva_indetraibile(const TRiga_documento& riga, const TBill & bill, TString_array& conti, int annoes, const char tipomov, bool & pareggio)
|
bool TContabilizzazione_analitica::find_conti_iva_indetraibile(const TRiga_documento& riga, const TBill& bill,
|
||||||
|
TString_array& conti, int annoes, const char tipomov, bool& pareggio)
|
||||||
{
|
{
|
||||||
const TString80 riga_cos = riga.codice_costo();
|
const TCodice_cdc riga_cos = riga.codice_costo();
|
||||||
const TString80 riga_cms = riga.codice_commessa();
|
const TCodice_cms riga_cms = riga.codice_commessa();
|
||||||
const TString16 riga_fsc = riga.fase_commessa();
|
const TCodice_fas riga_fsc = riga.fase_commessa();
|
||||||
TToken_string conto;
|
TToken_string conto;
|
||||||
|
|
||||||
conto = bill.string(0x8); // format("%03d%03d%06ld", bill.gruppo(), bill.conto(), bill.sottoconto());
|
conto = bill.string(0x8); // format("%03d%03d%06ld", bill.gruppo(), bill.conto(), bill.sottoconto());
|
||||||
@ -381,7 +382,7 @@ bool TContabilizzazione_analitica::find_conti(const TRiga_documento& riga, TStri
|
|||||||
bool bArcticleFound = false;
|
bool bArcticleFound = false;
|
||||||
|
|
||||||
const char tipocf = riga.doc().get_char(DOC_TIPOCF);
|
const char tipocf = riga.doc().get_char(DOC_TIPOCF);
|
||||||
TString80 contanal;
|
TCodice_con contanal;
|
||||||
TToken_string conto;
|
TToken_string conto;
|
||||||
TBill bill; // Cerco il conto contabile
|
TBill bill; // Cerco il conto contabile
|
||||||
|
|
||||||
@ -442,9 +443,9 @@ bool TContabilizzazione_analitica::find_conti(const TRiga_documento& riga, TStri
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TString80 riga_cos = riga.codice_costo();
|
const TCodice_cdc riga_cos = riga.codice_costo();
|
||||||
const TString80 riga_cms = riga.codice_commessa();
|
const TCodice_cms riga_cms = riga.codice_commessa();
|
||||||
const TString16 riga_fsc = riga.fase_commessa();
|
const TCodice_fas riga_fsc = riga.fase_commessa();
|
||||||
|
|
||||||
if (contanal.full()) // Non ho trovato il conto in anagrafica ...
|
if (contanal.full()) // Non ho trovato il conto in anagrafica ...
|
||||||
{
|
{
|
||||||
@ -469,17 +470,15 @@ bool TContabilizzazione_analitica::find_conti(const TRiga_documento& riga, TStri
|
|||||||
|
|
||||||
conto = rigarip.get(RRIP_CODCONTO).full() ? rigarip.get(RRIP_CODCONTO) : contanal;
|
conto = rigarip.get(RRIP_CODCONTO).full() ? rigarip.get(RRIP_CODCONTO) : contanal;
|
||||||
|
|
||||||
const TString costo = rigarip.get(RRIP_CODCOSTO);
|
const TString& costo = rigarip.get(RRIP_CODCOSTO);
|
||||||
|
|
||||||
conto.add(costo.full() ? costo : riga_cos, 1);
|
conto.add(costo.full() ? costo : riga_cos, 1);
|
||||||
|
|
||||||
const TString& commessa = rigarip.get(RRIP_CODCMS);
|
const TString& commessa = rigarip.get(RRIP_CODCMS);
|
||||||
|
|
||||||
conto.add(commessa.full() ? commessa : riga_cms, 2);
|
conto.add(commessa.full() ? commessa : riga_cms, 2);
|
||||||
|
|
||||||
const TString & fase = rigarip.get(RRIP_CODFASE);
|
const TString & fase = rigarip.get(RRIP_CODFASE);
|
||||||
|
|
||||||
conto.add(fase.full() ? fase: riga_fsc, 3);
|
conto.add(fase.full() ? fase: riga_fsc, 3);
|
||||||
|
|
||||||
conto.add(rigarip.get(RRIP_RIPARTO), 4);
|
conto.add(rigarip.get(RRIP_RIPARTO), 4);
|
||||||
conti.add(conto);
|
conti.add(conto);
|
||||||
}
|
}
|
||||||
@ -502,7 +501,7 @@ void TContabilizzazione_analitica::init_distrib(TString_array& conti, TGeneric_d
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TContabilizzazione_analitica::calcola_date_comp(const TDocumento& doc, TDate& datacomp, TDate& datafcomp, int annoes)
|
int TContabilizzazione_analitica::calcola_date_comp(const TDocumento& doc, TDate& datacomp, TDate& datafcomp) const
|
||||||
{
|
{
|
||||||
const TDate datadoc = doc.get_date(DOC_DATADOC);
|
const TDate datadoc = doc.get_date(DOC_DATADOC);
|
||||||
datacomp = doc.get_date(DOC_DATACOMP);
|
datacomp = doc.get_date(DOC_DATACOMP);
|
||||||
@ -512,7 +511,7 @@ void TContabilizzazione_analitica::calcola_date_comp(const TDocumento& doc, TDat
|
|||||||
if (!datafcomp.ok())
|
if (!datafcomp.ok())
|
||||||
datafcomp = datacomp;
|
datafcomp = datacomp;
|
||||||
|
|
||||||
annoes = esercizi().date2esc(datacomp); //ci potrebbe andare datacomp? All'analisi l'ardua sentenza
|
return esercizi().date2esc(datacomp); //ci potrebbe andare datacomp? All'analisi l'ardua sentenza
|
||||||
}
|
}
|
||||||
|
|
||||||
void TContabilizzazione_analitica::split_sp_amount(TAnal_mov & mov, bool pareggio, const TImporto & totdoc,
|
void TContabilizzazione_analitica::split_sp_amount(TAnal_mov & mov, bool pareggio, const TImporto & totdoc,
|
||||||
@ -573,7 +572,7 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
calcola_date_comp(doc, datacomp, datafcomp, annoes);
|
annoes = calcola_date_comp(doc, datacomp, datafcomp);
|
||||||
datareg = datadoc;
|
datareg = datadoc;
|
||||||
|
|
||||||
doc.riferimento(descr);
|
doc.riferimento(descr);
|
||||||
@ -620,7 +619,7 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis
|
|||||||
mov.put(MOVANA_NUMREG, numreg_ca = 0);
|
mov.put(MOVANA_NUMREG, numreg_ca = 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
calcola_date_comp(doc, datacomp, datafcomp, annoes);
|
annoes = calcola_date_comp(doc, datacomp, datafcomp);
|
||||||
|
|
||||||
mov.put(MOVANA_DATAREG, datareg);
|
mov.put(MOVANA_DATAREG, datareg);
|
||||||
mov.put(MOVANA_DATACOMP, datacomp);
|
mov.put(MOVANA_DATACOMP, datacomp);
|
||||||
@ -872,6 +871,8 @@ bool TContabilizzazione_analitica::elabora(TLista_documenti& doc_in, TLista_docu
|
|||||||
p.links().add("Movimento Analitico |r|w", 0);
|
p.links().add("Movimento Analitico |r|w", 0);
|
||||||
p.setlinkhandler(link_handler_ana);
|
p.setlinkhandler(link_handler_ana);
|
||||||
pre_process_input(doc_in);
|
pre_process_input(doc_in);
|
||||||
|
|
||||||
|
if (interattivo)
|
||||||
v.open_modal();
|
v.open_modal();
|
||||||
for (int i = 0; i < doc_in.items(); i++)
|
for (int i = 0; i < doc_in.items(); i++)
|
||||||
{
|
{
|
||||||
@ -897,6 +898,7 @@ bool TContabilizzazione_analitica::elabora(TLista_documenti& doc_in, TLista_docu
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
v.close_print();
|
v.close_print();
|
||||||
|
if (interattivo)
|
||||||
v.close_modal();
|
v.close_modal();
|
||||||
|
|
||||||
if (_total_docs > 0)
|
if (_total_docs > 0)
|
||||||
@ -905,8 +907,11 @@ bool TContabilizzazione_analitica::elabora(TLista_documenti& doc_in, TLista_docu
|
|||||||
post_process(doc_out, doc_in);
|
post_process(doc_out, doc_in);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (interattivo || _total_docs < doc_in.items())
|
||||||
|
{
|
||||||
if (v.run() == K_CTRL+'S') // Ho premuto Stampa
|
if (v.run() == K_CTRL+'S') // Ho premuto Stampa
|
||||||
p.print_txt(v.text());
|
p.print_txt(v.text());
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
105
ve/velib06.cpp
105
ve/velib06.cpp
@ -540,8 +540,7 @@ int TDocumento_mask::insert_anal_fields(TMask& m, int page, int lf, int& y,
|
|||||||
sm.efield(colid).set_field(str); // Ricopia il campo nella maschera di riga per poterlo salvare!
|
sm.efield(colid).set_field(str); // Ricopia il campo nella maschera di riga per poterlo salvare!
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
y += h;
|
||||||
y += h+1;
|
|
||||||
dlg += h; dlgd += h;
|
dlg += h; dlgd += h;
|
||||||
return h;
|
return h;
|
||||||
}
|
}
|
||||||
@ -567,8 +566,6 @@ void TDocumento_mask::insert_anal_page()
|
|||||||
add_number(DLG_NULL, newpage, TR("Cliente "), 2, 4, 6, "D").set_group(10);
|
add_number(DLG_NULL, newpage, TR("Cliente "), 2, 4, 6, "D").set_group(10);
|
||||||
add_string(DLG_NULL, newpage, "", 24, 4, 50, "D").set_group(11);
|
add_string(DLG_NULL, newpage, "", 24, 4, 50, "D").set_group(11);
|
||||||
|
|
||||||
add_groupbox(DLG_NULL, newpage, TR("Contabilità Analitica"), 1, 6, 78, 14);
|
|
||||||
|
|
||||||
const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI);
|
const TMultilevel_code_info& fasinfo = ca_multilevel_code_info(LF_FASI);
|
||||||
const bool use_fsc = fasinfo.levels() > 0;
|
const bool use_fsc = fasinfo.levels() > 0;
|
||||||
TConfig& ini = ca_config();
|
TConfig& ini = ca_config();
|
||||||
@ -608,18 +605,51 @@ void TDocumento_mask::insert_anal_page()
|
|||||||
set_field_handler(_cms_end, codcms_handler);
|
set_field_handler(_cms_end, codcms_handler);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (use_fsc && fasinfo.parent() <= 0)
|
if (use_fsc && fasinfo.parent() <= 0)
|
||||||
insert_anal_fields(*this, newpage, LF_FASI, y, dlg, dlgd, fsc_req && doc().tipo().head_ca_required());
|
insert_anal_fields(*this, newpage, LF_FASI, y, dlg, dlgd, fsc_req && doc().tipo().head_ca_required());
|
||||||
|
|
||||||
//aggiunge campi per date di competenza (inizio e fine)
|
//aggiunge campi per date di competenza (inizio e fine)
|
||||||
add_groupbox(DLG_NULL, newpage, TR("Date di competenza"), 1, 20, 78, 3);
|
add_static(DLG_NULL, newpage, TR("@bDate di competenza"), 2, y);
|
||||||
const TFixed_string f_datacomp = DOC_DATACOMP;
|
const TFixed_string f_datacomp = DOC_DATACOMP;
|
||||||
add_date(F_DATACOMP, newpage, "Inizio ", 2, 21).set_field(f_datacomp);
|
add_date(F_DATACOMP, newpage, "Inizio ", 30, y).set_field(f_datacomp);
|
||||||
const TFixed_string f_datafcomp = DOC_DATAFCOMP;
|
const TFixed_string f_datafcomp = DOC_DATAFCOMP;
|
||||||
add_date(F_DATAFCOMP, newpage, "Fine ", 25, 21).set_field(f_datafcomp);
|
add_date(F_DATAFCOMP, newpage, "Fine ", 59, y).set_field(f_datafcomp);
|
||||||
set_field_handler(F_DATACOMP, datacomp_handler); //gestore del campo inizio competenza..
|
set_field_handler(F_DATACOMP, datacomp_handler); //gestore del campo inizio competenza..
|
||||||
set_field_handler(F_DATAFCOMP, datafcomp_handler); //..e della fine competenza
|
set_field_handler(F_DATAFCOMP, datafcomp_handler); //..e della fine competenza
|
||||||
|
add_groupbox(DLG_NULL, newpage, TR("@bContabilità Analitica"), 1, 6, 78, y-4);
|
||||||
|
|
||||||
|
const bool movimento_interno = main_app().has_module(CIAUT) && _doc.tipo().movimento_interno();
|
||||||
|
if (movimento_interno)
|
||||||
|
{
|
||||||
|
fld(fields()-1).set_prompt(TR("@bCantiere di destinazione"));
|
||||||
|
|
||||||
|
y+=2;
|
||||||
|
const int ystart = y++;
|
||||||
|
const int cms_prel_start = dlg;
|
||||||
|
if (use_fsc && fasinfo.parent() == LF_COMMESSE)
|
||||||
|
insert_anal_fields(*this, newpage, LF_FASI, y, dlg, dlgd, true);
|
||||||
|
else
|
||||||
|
insert_anal_fields(*this, newpage, LF_COMMESSE, y, dlg, dlgd, true);
|
||||||
|
if (use_fsc && fasinfo.parent() <= 0)
|
||||||
|
insert_anal_fields(*this, newpage, LF_FASI, y, dlg, dlgd, false);
|
||||||
|
add_button(dlg+1, newpage, TR("Generazione righe consegnate"), 2, y++, 32);
|
||||||
|
set_field_handler(dlg+1, movint_handler);
|
||||||
|
add_groupbox(DLG_NULL, newpage, TR("@bCantiere di prelievo"), 1, ystart, 78, y-ystart+1);
|
||||||
|
|
||||||
|
for (short id = cms_prel_start; id < dlg; id++)
|
||||||
|
{
|
||||||
|
TEdit_field& f = efield(id);
|
||||||
|
const TFieldref* fld = f.field();
|
||||||
|
if (fld)
|
||||||
|
{
|
||||||
|
if (fld->name() == DOC_CODCMS)
|
||||||
|
((TFieldref*)fld)->set_name(DOC_COMMPREL);
|
||||||
|
if (fld->name() == DOC_FASCMS)
|
||||||
|
((TFieldref*)fld)->set_name(DOC_FASEPREL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TDocumento_mask::configura_sheet(TSheet_field& sheet)
|
void TDocumento_mask::configura_sheet(TSheet_field& sheet)
|
||||||
@ -1126,7 +1156,7 @@ void TDocumento_mask::cli2mask(bool force_load)
|
|||||||
{
|
{
|
||||||
hide(-GR_PRESENTCLI);
|
hide(-GR_PRESENTCLI);
|
||||||
show(-GR_PRESENT);
|
show(-GR_PRESENT);
|
||||||
if (cfbanpr.empty() || id2pos(F_CODABIP1) < 0)
|
if (cfbanpr.empty()/* || id2pos(F_CODABIP1) < 0*/)
|
||||||
{
|
{
|
||||||
set(F_CODABIP, ven_rec.get(CFV_CODABIPR), 0x3);
|
set(F_CODABIP, ven_rec.get(CFV_CODABIPR), 0x3);
|
||||||
set(F_CODCABP, ven_rec.get(CFV_CODCABPR), 0x3);
|
set(F_CODCABP, ven_rec.get(CFV_CODCABPR), 0x3);
|
||||||
@ -1829,11 +1859,12 @@ void TDocumento_mask::update_giacenza()
|
|||||||
}
|
}
|
||||||
|
|
||||||
TString4 annoes = get(F_ANNO);
|
TString4 annoes = get(F_ANNO);
|
||||||
const TDate datadoc = get(F_DATADOC);
|
//const TDate data_giac = get(F_DATADOC); // Porta a comportamenti strani a cavallo di chiusura esercizio
|
||||||
if (datadoc.ok())
|
const TDate data_giac(TODAY);
|
||||||
|
if (data_giac.ok())
|
||||||
{
|
{
|
||||||
TEsercizi_contabili esc;
|
TEsercizi_contabili esc;
|
||||||
annoes.format("%04d", esc.date2esc(datadoc));
|
annoes.format("%04d", esc.date2esc(data_giac));
|
||||||
}
|
}
|
||||||
|
|
||||||
TArticolo_giacenza& art = cached_article_balances(codart);
|
TArticolo_giacenza& art = cached_article_balances(codart);
|
||||||
@ -3887,32 +3918,29 @@ bool TDocumento_mask::anno_handler( TMask_field& f, KEY key)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static TString4 __codnum;
|
bool is_tipodoc_ok(const TString& tipodoc)
|
||||||
|
|
||||||
bool tipodoc_ok(const TString & tipodoc)
|
|
||||||
{
|
{
|
||||||
const TString4 module(main_app().name().left(2));
|
const TString4 module = main_app().name().left(2);
|
||||||
const TTipo_documento& tipo = cached_tipodoc(tipodoc);
|
const TTipo_documento& tipo = cached_tipodoc(tipodoc);
|
||||||
const TString& tipomod = tipo.module();
|
const TString& tipomod = tipo.module();
|
||||||
|
if (module == "ve" && (tipomod.blank() || tipomod == "*"))
|
||||||
if (module == "ve" && tipomod.blank())
|
|
||||||
return true;
|
return true;
|
||||||
return tipomod == module;
|
return tipomod == module;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static TString4 __codnum;
|
||||||
|
|
||||||
bool tip_filter(const TRelation* r)
|
bool tip_filter(const TRelation* r)
|
||||||
{
|
{
|
||||||
if (__codnum.blank())
|
if (__codnum.blank())
|
||||||
return true;
|
return true;
|
||||||
const TCodice_numerazione & cod_num = cached_numerazione(__codnum);
|
const TCodice_numerazione & cod_num = cached_numerazione(__codnum);
|
||||||
const TString4 tipo = r->curr().get("CODTAB");
|
const TString4 tipo = r->curr().get("CODTAB");
|
||||||
|
const int last = cod_num.ntipi_doc();
|
||||||
int last = cod_num.ntipi_doc();
|
|
||||||
for (int i = 0; i < last; i++ )
|
for (int i = 0; i < last; i++ )
|
||||||
{
|
{
|
||||||
const TString& curtipo = cod_num.tipo_doc(i);
|
const TString& curtipo = cod_num.tipo_doc(i);
|
||||||
|
if (curtipo == tipo && is_tipodoc_ok(curtipo))
|
||||||
if (curtipo == tipo && tipodoc_ok(curtipo))
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -4567,9 +4595,40 @@ bool TDocumento_mask::barcode_handler(TMask_field& f, KEY k)
|
|||||||
TSheet_field& s = mask.sheet();
|
TSheet_field& s = mask.sheet();
|
||||||
if (mask.curr_win() != s.parent())
|
if (mask.curr_win() != s.parent())
|
||||||
s.set_focus();
|
s.set_focus();
|
||||||
|
|
||||||
TBarcode_mask bcm(mask);
|
TBarcode_mask bcm(mask);
|
||||||
bcm.run();
|
bcm.run();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TDocumento_mask::movint_handler(TMask_field& f, KEY key)
|
||||||
|
{
|
||||||
|
if (key == K_SPACE)
|
||||||
|
{
|
||||||
|
TDocumento_mask& m = (TDocumento_mask&)f.mask();
|
||||||
|
const TDocumento& doc = m.doc();
|
||||||
|
if (doc.get(DOC_COMMPREL).full())
|
||||||
|
{
|
||||||
|
TElaborazione_esterna movint_selector("_MOVINT");
|
||||||
|
if (movint_selector.applicazione_esterna().empty())
|
||||||
|
movint_selector.put("S3", "ci1 -5");
|
||||||
|
TLista_documenti doc_in, doc_out;
|
||||||
|
doc_in.add(doc);
|
||||||
|
if (movint_selector.elabora(doc_in, doc_out, m.get_date(F_DATADOC), false))
|
||||||
|
{
|
||||||
|
const TDocumento& din = doc_in[0];
|
||||||
|
TDocumento& dout = m.doc();
|
||||||
|
for (int r = dout.rows()+1; r <= din.rows(); r++)
|
||||||
|
{
|
||||||
|
const TRiga_documento& rin = din[r];
|
||||||
|
TRiga_documento& rout = dout.new_row(rin.get(RDOC_TIPORIGA));
|
||||||
|
dout.copy_data(rout, rin); rout.reset_original_rdoc_key();
|
||||||
|
}
|
||||||
|
m.doc2mask(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return error_box(TR("Specificare la commessa di prelievo"));
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
@ -610,7 +610,7 @@ bool iva_handler( TMask_field& f, KEY key )
|
|||||||
bool addiva = false;
|
bool addiva = false;
|
||||||
|
|
||||||
if (pos_ai >= 0)
|
if (pos_ai >= 0)
|
||||||
addiva = row_mask.fld(pos_ai).get() == "X"; // Controlla le righe Omaggio solo se e' settato l'addebito IVA
|
addiva = row_mask.fld(pos_ai).get() == "X"; // Controlla le righe Omaggio solo se è settato l'addebito IVA
|
||||||
|
|
||||||
const bool check = riga.is_merce() || riga.is_spese() || riga.is_prestazione() ||
|
const bool check = riga.is_merce() || riga.is_spese() || riga.is_prestazione() ||
|
||||||
(riga.is_omaggio() && addiva);
|
(riga.is_omaggio() && addiva);
|
||||||
@ -625,7 +625,7 @@ bool iva_handler( TMask_field& f, KEY key )
|
|||||||
const bool qf = qe && row_mask.fld(pos_q).get().not_empty();
|
const bool qf = qe && row_mask.fld(pos_q).get().not_empty();
|
||||||
const bool required = pf && !(qe && !qf);
|
const bool required = pf && !(qe && !qf);
|
||||||
if (required)
|
if (required)
|
||||||
return f.error_box("Il codice IVA e' obbligatorio.");
|
return f.error_box(TR("Il codice IVA è obbligatorio."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@ -892,11 +892,8 @@ void upd_colli_peso_tara(TMask& m, const TString & codart)
|
|||||||
const real peso = qta * articolo.get_real(ANAMAG_PESO);
|
const real peso = qta * articolo.get_real(ANAMAG_PESO);
|
||||||
m.fld(pos).set(peso.string());
|
m.fld(pos).set(peso.string());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bool pricerange_handler(TMask_field& f, KEY key )
|
bool pricerange_handler(TMask_field& f, KEY key )
|
||||||
{
|
{
|
||||||
if (key == K_TAB && f.focusdirty())
|
if (key == K_TAB && f.focusdirty())
|
||||||
@ -1114,13 +1111,11 @@ static void search_price(TEdit_field& f, KEY key )
|
|||||||
rec.put(RDOC_NDOC, cur.curr().get(DOC_NDOC));
|
rec.put(RDOC_NDOC, cur.curr().get(DOC_NDOC));
|
||||||
r.read(rec);
|
r.read(rec);
|
||||||
|
|
||||||
int last_row = r.last_row();
|
const int last_row = r.last_row();
|
||||||
|
|
||||||
for (int i = r.first_row(); i <= last_row; i = r.succ_row(i))
|
for (int i = r.first_row(); i <= last_row; i = r.succ_row(i))
|
||||||
{
|
{
|
||||||
const TRectype& rdoc = r.row(i);
|
const TRectype& rdoc = r.row(i);
|
||||||
const TString& codart = rdoc.get(RDOC_CODART);
|
const TString& codart = rdoc.get(RDOC_CODART);
|
||||||
|
|
||||||
if (codart.full())
|
if (codart.full())
|
||||||
{
|
{
|
||||||
TToken_string row;
|
TToken_string row;
|
||||||
@ -1445,7 +1440,6 @@ TDocumento & TCache_documenti::doc(const char* key)
|
|||||||
TDocumento& cached_doc(const char* key)
|
TDocumento& cached_doc(const char* key)
|
||||||
{
|
{
|
||||||
static TCache_documenti * _cache_docs = NULL;
|
static TCache_documenti * _cache_docs = NULL;
|
||||||
|
|
||||||
if (_cache_docs == NULL)
|
if (_cache_docs == NULL)
|
||||||
_cache_docs = new TCache_documenti();
|
_cache_docs = new TCache_documenti();
|
||||||
return _cache_docs->doc(key);
|
return _cache_docs->doc(key);
|
||||||
@ -1454,7 +1448,6 @@ TDocumento & cached_doc(const char* key)
|
|||||||
class TLink_riga_documento : public TRiga_documento
|
class TLink_riga_documento : public TRiga_documento
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
const TDocumento_mask* _mask;
|
const TDocumento_mask* _mask;
|
||||||
virtual const TString& get_str(const char* fieldname) const;
|
virtual const TString& get_str(const char* fieldname) const;
|
||||||
|
|
||||||
@ -1471,8 +1464,7 @@ const TString& TLink_riga_documento::get_str(const char* fieldname) const
|
|||||||
{
|
{
|
||||||
if (strcmp(fieldname, "RESIDUO") == 0)
|
if (strcmp(fieldname, "RESIDUO") == 0)
|
||||||
{
|
{
|
||||||
TString & value = get_tmp_string(80);
|
TString& value = get_tmp_string();
|
||||||
|
|
||||||
value = qtaresidua().string();
|
value = qtaresidua().string();
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
@ -1484,13 +1476,13 @@ const TDocumento & TLink_riga_documento::doc() const
|
|||||||
{
|
{
|
||||||
if (has_doc())
|
if (has_doc())
|
||||||
return TRiga_documento::doc();
|
return TRiga_documento::doc();
|
||||||
TToken_string key;
|
|
||||||
|
|
||||||
|
TToken_string key;
|
||||||
key.add(get_char(RDOC_PROVV));
|
key.add(get_char(RDOC_PROVV));
|
||||||
key.add(get_int(RDOC_ANNO));
|
key.add(get_int(RDOC_ANNO));
|
||||||
key.add(get(RDOC_CODNUM));
|
key.add(get(RDOC_CODNUM));
|
||||||
key.add(get_long(RDOC_NDOC));
|
key.add(get_long(RDOC_NDOC));
|
||||||
return cached_doc(key);;
|
return cached_doc(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
real TLink_riga_documento::qtaresidua() const
|
real TLink_riga_documento::qtaresidua() const
|
||||||
@ -2166,8 +2158,8 @@ bool um_handler( TMask_field& f, KEY key )
|
|||||||
TMask& row_mask = f.mask( );
|
TMask& row_mask = f.mask( );
|
||||||
TTable& ums = (TTable&)((TEdit_field&)f).browse()->cursor()->file();
|
TTable& ums = (TTable&)((TEdit_field&)f).browse()->cursor()->file();
|
||||||
|
|
||||||
const TString16 um(f.get());
|
const TString4 um = f.get();
|
||||||
real fc(1.0);
|
real fc = UNO;
|
||||||
|
|
||||||
if (um.not_empty() && curr_um.not_empty() && um != curr_um)
|
if (um.not_empty() && curr_um.not_empty() && um != curr_um)
|
||||||
{
|
{
|
||||||
@ -2175,7 +2167,7 @@ bool um_handler( TMask_field& f, KEY key )
|
|||||||
if (ums.read() == NOERR)
|
if (ums.read() == NOERR)
|
||||||
{
|
{
|
||||||
real qta(row_mask.get_real(FR_QTA));
|
real qta(row_mask.get_real(FR_QTA));
|
||||||
const TString16 umsrif0(ums.get("S7"));
|
const TString4 umsrif0 = ums.get("S7");
|
||||||
const real fc0 = ums.get_real("R10");
|
const real fc0 = ums.get_real("R10");
|
||||||
if (um == umsrif0)
|
if (um == umsrif0)
|
||||||
fc = fc0;
|
fc = fc0;
|
||||||
@ -2185,15 +2177,14 @@ bool um_handler( TMask_field& f, KEY key )
|
|||||||
if (ums.read() == NOERR)
|
if (ums.read() == NOERR)
|
||||||
{
|
{
|
||||||
const real fc1 = ums.get_real("R10");
|
const real fc1 = ums.get_real("R10");
|
||||||
const TString16 umsrif1(ums.get("S7"));
|
|
||||||
|
|
||||||
if (fc1 > ZERO)
|
if (fc1 > ZERO)
|
||||||
{
|
{
|
||||||
|
const TString& umsrif1 = ums.get("S7");
|
||||||
if (curr_um == umsrif1)
|
if (curr_um == umsrif1)
|
||||||
fc = 1 / fc1;
|
fc = UNO / fc1;
|
||||||
else
|
else
|
||||||
if (umsrif0 == ums.get("S7"))
|
if (umsrif0 == umsrif1)
|
||||||
fc = fc0 / ums.get_real("R10");
|
fc = fc0 / fc1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3246,7 +3237,7 @@ bool peso_conai_handler(TMask_field& f, KEY key )
|
|||||||
if (key == K_F8)
|
if (key == K_F8)
|
||||||
{
|
{
|
||||||
const TString& codart = f.mask().get(FR_CODARTMAG);
|
const TString& codart = f.mask().get(FR_CODARTMAG);
|
||||||
TArticolo & articolo = cached_article(codart);
|
const TArticolo& articolo = cached_article(codart);
|
||||||
const TCONAI_class type = conai_id2class(f.dlg());
|
const TCONAI_class type = conai_id2class(f.dlg());
|
||||||
f.set(articolo.get(conai_peso_name(type, LF_ANAMAG)));
|
f.set(articolo.get(conai_peso_name(type, LF_ANAMAG)));
|
||||||
}
|
}
|
||||||
@ -3258,16 +3249,14 @@ bool datacomp_handler(TMask_field& f, KEY key)
|
|||||||
if (key == K_F8)
|
if (key == K_F8)
|
||||||
f.set(f.mask().get(F_DATADOC));
|
f.set(f.mask().get(F_DATADOC));
|
||||||
|
|
||||||
if (f.to_check(key, false))
|
if (f.to_check(key, false) && !f.empty())
|
||||||
{
|
{
|
||||||
const TDate datadoc = f.mask().get_date(F_DATADOC);
|
const TDate datadoc = f.mask().get_date(F_DATADOC);
|
||||||
const TEsercizi_contabili es_doc;
|
const TEsercizi_contabili esc;
|
||||||
int anno_doc = es_doc.date2esc(datadoc);
|
const int anno_doc = esc.date2esc(datadoc);
|
||||||
|
|
||||||
const TDate datacomp = f.get();
|
const TDate datacomp = f.get();
|
||||||
const TEsercizi_contabili es_comp;
|
const int anno_comp = esc.date2esc(datacomp);
|
||||||
int anno_comp = es_comp.date2esc(datacomp);
|
|
||||||
|
|
||||||
if (anno_doc != anno_comp)
|
if (anno_doc != anno_comp)
|
||||||
return error_box("La data inizio competenza deve appartenere all'esercizio del documento!");
|
return error_box("La data inizio competenza deve appartenere all'esercizio del documento!");
|
||||||
}
|
}
|
||||||
@ -3276,7 +3265,7 @@ bool datacomp_handler(TMask_field& f, KEY key)
|
|||||||
|
|
||||||
bool datafcomp_handler(TMask_field& f, KEY key)
|
bool datafcomp_handler(TMask_field& f, KEY key)
|
||||||
{
|
{
|
||||||
if (f.to_check(key, false))
|
if (f.to_check(key, false) && !f.empty())
|
||||||
{
|
{
|
||||||
const TDate datacomp = f.mask().get_date(F_DATACOMP);
|
const TDate datacomp = f.mask().get_date(F_DATACOMP);
|
||||||
const TDate datafcomp = f.get();
|
const TDate datafcomp = f.get();
|
||||||
|
@ -48,7 +48,7 @@ bool nar_handler(TMask_field& f, KEY key);
|
|||||||
bool subappalto_hndl(TMask_field& f, KEY key);
|
bool subappalto_hndl(TMask_field& f, KEY key);
|
||||||
bool reportba8_hndl(TMask_field& f, KEY key);
|
bool reportba8_hndl(TMask_field& f, KEY key);
|
||||||
|
|
||||||
bool tipodoc_ok(const TString & tipodoc);
|
bool is_tipodoc_ok(const TString & tipodoc);
|
||||||
|
|
||||||
TCONAI_class conai_id2class(short id);
|
TCONAI_class conai_id2class(short id);
|
||||||
short conai_peso_id(TCONAI_class cc);
|
short conai_peso_id(TCONAI_class cc);
|
||||||
|
@ -51,6 +51,13 @@
|
|||||||
#define RSS_MATRICOLA 172
|
#define RSS_MATRICOLA 172
|
||||||
#define RSS_QUALIFICA 173
|
#define RSS_QUALIFICA 173
|
||||||
|
|
||||||
|
#define RSS_TIPOSTRA1 180
|
||||||
|
#define RSS_DOPOSTRA1 181
|
||||||
|
#define RSS_COSTOSTRA1 182
|
||||||
|
#define RSS_TIPOSTRA2 183
|
||||||
|
#define RSS_DOPOSTRA2 184
|
||||||
|
#define RSS_COSTOSTRA2 185
|
||||||
|
|
||||||
#ifndef __VETBANAL_H
|
#ifndef __VETBANAL_H
|
||||||
#include "vetbanal.h"
|
#include "vetbanal.h"
|
||||||
#endif
|
#endif
|
@ -32,7 +32,7 @@ END
|
|||||||
|
|
||||||
STRING RSS_RAGSOC 50
|
STRING RSS_RAGSOC 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 9 2 ""
|
PROMPT 2 2 "Nome "
|
||||||
FIELD S0
|
FIELD S0
|
||||||
KEY 2
|
KEY 2
|
||||||
USE RSS KEY 2
|
USE RSS KEY 2
|
||||||
@ -44,6 +44,18 @@ BEGIN
|
|||||||
MESSAGE COPY,20@
|
MESSAGE COPY,20@
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRING RSS_MATRICOLA 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 42 1 "Matricola "
|
||||||
|
FIELD S3[21,40]
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING RSS_QUALIFICA 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 42 3 "Qualifica "
|
||||||
|
FIELD S3[41,60]
|
||||||
|
END
|
||||||
|
|
||||||
LIST RSS_COLLAB 1 10
|
LIST RSS_COLLAB 1 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 3 "Tipo "
|
PROMPT 2 3 "Tipo "
|
||||||
@ -58,7 +70,7 @@ END
|
|||||||
|
|
||||||
NUMBER RSS_CODFORN 6
|
NUMBER RSS_CODFORN 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 3 ""
|
PROMPT 30 3 ""
|
||||||
USE LF_CLIFO
|
USE LF_CLIFO
|
||||||
INPUT TIPOCF "F"
|
INPUT TIPOCF "F"
|
||||||
INPUT CODCF RSS_CODFORN
|
INPUT CODCF RSS_CODFORN
|
||||||
@ -79,7 +91,7 @@ END
|
|||||||
|
|
||||||
NUMBER RSS_CODFIS 6
|
NUMBER RSS_CODFIS 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 3 ""
|
PROMPT 30 3 ""
|
||||||
USE LF_ANAG
|
USE LF_ANAG
|
||||||
INPUT TIPOA "F"
|
INPUT TIPOA "F"
|
||||||
INPUT CODANAGR RSS_CODFIS
|
INPUT CODANAGR RSS_CODFIS
|
||||||
@ -429,16 +441,51 @@ BEGIN
|
|||||||
ADD RUN CG0 -0
|
ADD RUN CG0 -0
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING RSS_MATRICOLA 20
|
STRING RSS_TIPOSTRA1 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 20 "Matricola "
|
PROMPT 1 17 "Tipo ora straordinaria 1 "
|
||||||
FIELD S3[21,40]
|
USE &CIORE
|
||||||
|
INPUT CODTAB RSS_TIPOSTRA1
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
OUTPUT RSS_TIPOSTRA1 CODTAB
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
FIELD S9
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING RSS_QUALIFICA 20
|
NUMBER RSS_DOPOSTRA1 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 21 "Qualifica "
|
PROMPT 41 17 "dopo ore "
|
||||||
FIELD S3[41,60]
|
FIELD R5
|
||||||
|
END
|
||||||
|
|
||||||
|
CURRENCY RSS_COSTOSTRA1 9
|
||||||
|
BEGIN
|
||||||
|
PROMPT 59 17 "Costo "
|
||||||
|
FIELD R6
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING RSS_TIPOSTRA2 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 18 "Tipo ora straordinaria 2 "
|
||||||
|
COPY USE RSS_TIPOSTRA1
|
||||||
|
INPUT CODTAB RSS_TIPOSTRA2
|
||||||
|
COPY DISPLAY RSS_TIPOSTRA1
|
||||||
|
OUTPUT RSS_TIPOSTRA2 CODTAB
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
FIELD S10
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER RSS_DOPOSTRA2 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 41 18 "dopo ore "
|
||||||
|
FIELD R7
|
||||||
|
END
|
||||||
|
|
||||||
|
CURRENCY RSS_COSTOSTRA2 9
|
||||||
|
BEGIN
|
||||||
|
PROMPT 59 18 "Costo "
|
||||||
|
FIELD R8
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
@ -40,6 +40,8 @@
|
|||||||
#define F_DESCELABS 157
|
#define F_DESCELABS 157
|
||||||
#define F_CODELABD 158
|
#define F_CODELABD 158
|
||||||
#define F_DESCELABD 159
|
#define F_DESCELABD 159
|
||||||
|
#define F_CODELABK 160
|
||||||
|
#define F_DESCELABK 161
|
||||||
|
|
||||||
#define F_STATOI_MOD_1 201
|
#define F_STATOI_MOD_1 201
|
||||||
#define F_STATOI_MOD_2 202
|
#define F_STATOI_MOD_2 202
|
||||||
|
@ -209,7 +209,7 @@ END
|
|||||||
|
|
||||||
BOOLEAN F_MOVMAG
|
BOOLEAN F_MOVMAG
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 14 "Mov. mag. a partire dallo stato "
|
PROMPT 2 14 "Mov. magazzino"
|
||||||
FIELD B1
|
FIELD B1
|
||||||
MESSAGE FALSE CLEAR,1@
|
MESSAGE FALSE CLEAR,1@
|
||||||
MESSAGE TRUE ENABLE,1@
|
MESSAGE TRUE ENABLE,1@
|
||||||
@ -219,7 +219,7 @@ END
|
|||||||
|
|
||||||
STRING F_STATO_MOV_I 1
|
STRING F_STATO_MOV_I 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 38 14 ""
|
PROMPT 24 14 "dallo stato "
|
||||||
FIELD S7
|
FIELD S7
|
||||||
USE %STD
|
USE %STD
|
||||||
INPUT CODTAB F_STATO_MOV_I
|
INPUT CODTAB F_STATO_MOV_I
|
||||||
@ -1222,14 +1222,14 @@ BEGIN
|
|||||||
FIELD S11[5,5]
|
FIELD S11[5,5]
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 42 3
|
GROUPBOX DLG_NULL 45 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 41 1 "@bIntra"
|
PROMPT 38 1 "@bIntra"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_NATURA 1
|
STRING F_NATURA 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 42 2 "Natura transazione "
|
PROMPT 39 2 "Natura transazione "
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
USE %INT
|
USE %INT
|
||||||
INPUT CODTAB F_NATURA
|
INPUT CODTAB F_NATURA
|
||||||
@ -1256,7 +1256,7 @@ BEGIN
|
|||||||
FIELD B11
|
FIELD B11
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 5
|
GROUPBOX DLG_NULL 78 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 12 "@bElaborazioni automatiche"
|
PROMPT 1 12 "@bElaborazioni automatiche"
|
||||||
END
|
END
|
||||||
@ -1336,6 +1336,29 @@ BEGIN
|
|||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRING F_CODELABK 8
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 16 "Speciale "
|
||||||
|
FLAG "U"
|
||||||
|
FIELD S3[29,36]
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
COPY USE F_CODELAB
|
||||||
|
INPUT CODTAB F_CODELABD
|
||||||
|
COPY DISPLAY F_CODELAB
|
||||||
|
OUTPUT F_CODELABK CODTAB
|
||||||
|
OUTPUT F_DESCELABK S0
|
||||||
|
HELP "Codice dell'elaborazione differita da eseguire"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCELABK 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 26 16 ""
|
||||||
|
COPY USE F_DESCELAB
|
||||||
|
INPUT S0 F_DESCELABD
|
||||||
|
COPY DISPLAY F_DESCELAB
|
||||||
|
COPY OUTPUT F_CODELABK
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ TOOLBAR "Toolbar" 0 0 0 2
|
|||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "Unita' di misura " 0 0 0 0
|
PAGE "Unità di misura " 0 0 0 0
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 75 7
|
GROUPBOX DLG_NULL 75 7
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -16,7 +16,7 @@ END
|
|||||||
|
|
||||||
STRING F_UM 2
|
STRING F_UM 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 "Unita' di misura "
|
PROMPT 2 2 "Unità di misura "
|
||||||
FIELD CODTAB
|
FIELD CODTAB
|
||||||
KEY 1
|
KEY 1
|
||||||
FLAG "U"
|
FLAG "U"
|
||||||
@ -44,7 +44,7 @@ END
|
|||||||
|
|
||||||
STRING F_UMR 2
|
STRING F_UMR 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 8 "Unita' di riferimento "
|
PROMPT 2 8 "Unità di riferimento "
|
||||||
FIELD S7
|
FIELD S7
|
||||||
FLAG "U"
|
FLAG "U"
|
||||||
USE %UMS
|
USE %UMS
|
||||||
@ -60,7 +60,7 @@ BEGIN
|
|||||||
PROMPT 2 10 "Fatt.conversione al riferim."
|
PROMPT 2 10 "Fatt.conversione al riferim."
|
||||||
FIELD R10
|
FIELD R10
|
||||||
VALIDATE REQIF_FUNC 1 F_UMR
|
VALIDATE REQIF_FUNC 1 F_UMR
|
||||||
WARNING "Fattore di conversione obbligatorio se specificata l'unita' di misura di riferimento"
|
WARNING "Fattore di conversione obbligatorio se specificata l'unità di misura di riferimento"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_ROUND
|
BOOLEAN F_ROUND
|
||||||
@ -78,6 +78,21 @@ BEGIN
|
|||||||
FIELD I0
|
FIELD I0
|
||||||
END
|
END
|
||||||
|
|
||||||
|
DATE DLG_NULL
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 -1 "Ultimo aggiornamento "
|
||||||
|
FIELD DATAAGG
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING DLG_NULL 16
|
||||||
|
BEGIN
|
||||||
|
PROMPT 41 -1 "Ultimo utente "
|
||||||
|
FIELD UTENTE
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
Loading…
x
Reference in New Issue
Block a user