diff --git a/src/cg/cg0200a.uml b/src/cg/cg0200a.uml index ba25154ee..c432dfff0 100755 --- a/src/cg/cg0200a.uml +++ b/src/cg/cg0200a.uml @@ -105,25 +105,6 @@ BEGIN HELP "Chiave di ricerca alternativa" END -STRING F_COFI 16 -BEGIN - PROMPT 2 5 "Codice fiscale " - FIELD COFI - FLAGS "U" - KEY 4 - USE LF_CLIFO KEY 4 - INPUT TIPOCF F_TIPOCF SELECT - INPUT COFI F_COFI - DISPLAY "Codice fiscale@16" COFI - DISPLAY "Sospeso" SOSPESO - DISPLAY "Codice@R" CODCF - DISPLAY "Ragione sociale@50" RAGSOC - DISPLAY "Partita IVA@11" PAIV - COPY OUTPUT F_CODCF - HELP "Codice fiscale del cliente/fornitore" - VALIDATE XTCF_FUNC F_STATOPAIV F_SESSO F_DATANASC F_COMNASC -END - STRING F_STATOPAIV 2 BEGIN PROMPT 42 4 "Codice ISO " @@ -154,9 +135,28 @@ BEGIN CHECKTYPE NORMAL END -STRING F_PAIV 12 +STRING F_COFI 28 BEGIN - PROMPT 42 5 "P.IVA " + PROMPT 2 5 "Ident. fiscale " + FIELD COFI + FLAGS "U" + KEY 4 + USE LF_CLIFO KEY 4 + INPUT TIPOCF F_TIPOCF SELECT + INPUT COFI F_COFI + DISPLAY "Codice fiscale@16" COFI + DISPLAY "Sospeso" SOSPESO + DISPLAY "Codice@R" CODCF + DISPLAY "Ragione sociale@50" RAGSOC + DISPLAY "Partita IVA@11" PAIV + COPY OUTPUT F_CODCF + HELP "Codice fiscale del cliente/fornitore" + VALIDATE XTCF_FUNC F_STATOPAIV F_SESSO F_DATANASC F_COMNASC +END + +STRING F_PAIV 12 15 +BEGIN + PROMPT 51 5 "P.IVA " FIELD PAIV KEY 5 USE LF_CLIFO KEY 5 diff --git a/src/cg/cg2100.cpp b/src/cg/cg2100.cpp index 8d9a33f90..84591cf2a 100755 --- a/src/cg/cg2100.cpp +++ b/src/cg/cg2100.cpp @@ -77,7 +77,7 @@ TMask* TPrimanota_application::load_mask(int n) _savenew = !c.get_bool("Cg21SN"); } break; - case 2: + case 2: // 2100c if (m) { m->set_handler(F_DATA74TER, data74ter_handler); @@ -98,7 +98,8 @@ TMask* TPrimanota_application::load_mask(int n) m->set_handler(F_REVCHARGE, revcharge_handler); m->set_handler(F_SHEETIVA, iva_handler); m->show(F_LIQDIFF, _liqdiff); - + m->set_handler(F_NUMDOCEXT, ndocext_handler); + TSheet_field& is = m->sfield(F_SHEETIVA); is.set_notify(iva_notify); TMask& ism = is.sheet_mask(); @@ -117,7 +118,7 @@ TMask* TPrimanota_application::load_mask(int n) if (_quadratura) m->set_handler(F_ADJUST_IVA, quadratura_handler); } - case 1: + case 1: // 2100b if (m) { m->first_focus(_firstfocus); @@ -137,6 +138,7 @@ TMask* TPrimanota_application::load_mask(int n) m->set_handler(F_LINKDOC, linkdoc_handler); m->set_handler(F_MASTRINO, mastrino_handler); m->enable(F_MASTRINO, !is_transaction()); + m->set_handler(F_NUMDOCEXT, ndocext_handler); TSheet_field& cg = m->sfield(F_SHEETCG); cg.set_notify(cg_notify); diff --git a/src/cg/cg2100b.uml b/src/cg/cg2100b.uml index a1a96fc5e..5f984601b 100755 --- a/src/cg/cg2100b.uml +++ b/src/cg/cg2100b.uml @@ -92,9 +92,15 @@ BEGIN MESSAGE COPY,K_TIPODOC END +STRING F_NUMDOCEXT 50 +BEGIN + PROMPT 1 6 "Numero documento esteso " + FIELD NUMDOCEXT +END + DATE F_DATADOC BEGIN - PROMPT 1 6 "Data del documento " + PROMPT 1 7 "Data del documento " FIELD DATADOC WARNING "Specificare una data del documento non superiore a quella dell'operazione" VALIDATE DATE_CMP_FUNC <= F_DATAREG @@ -103,7 +109,7 @@ END STRING F_NUMDOC 7 BEGIN - PROMPT 50 6 "Documento n. " + PROMPT 50 7 "Documento n. " FIELD NUMDOC FLAGS "U" WARNING "La causale impone di specificare il numero documento" @@ -112,13 +118,7 @@ END BUTTON F_LINKDOC 3 1 BEGIN - PROMPT 73 6 "Doc." -END - -STRING F_NUMDOCEXT 50 -BEGIN - PROMPT 1 7 "Numero documento esteso " - FIELD NUMDOCEXT + PROMPT 73 7 "Doc." END NUMBER F_ANNOIVA 4 diff --git a/src/cg/cg2100c.uml b/src/cg/cg2100c.uml index f4f699b01..609366e9a 100755 --- a/src/cg/cg2100c.uml +++ b/src/cg/cg2100c.uml @@ -105,9 +105,15 @@ BEGIN ADD RUN cg0 -4 END +STRING F_NUMDOCEXT 50 +BEGIN + PROMPT 1 4 "Numero documento esteso " + FIELD NUMDOCEXT +END + STRING F_NUMDOC 7 BEGIN - PROMPT 1 4 "Documento n. " + PROMPT 1 5 "Documento n. " FIELD NUMDOC FLAGS "U" WARNING "La causale o il saldaconto richiedono il numero documento" @@ -115,7 +121,7 @@ END DATE F_DATADOC BEGIN - PROMPT 27 4 "Data documento " + PROMPT 27 5 "Data documento " FIELD DATADOC WARNING "Inserire una data documento non superiore alla data dell'operazione" VALIDATE DATE_CMP_FUNC <= F_DATAREG @@ -123,20 +129,14 @@ END STRING F_TIPODOC 2 BEGIN - PROMPT 56 4 "Tipo " + PROMPT 56 5 "Tipo " FIELD TIPODOC FLAGS "D" END BUTTON F_LINKDOC 3 1 BEGIN - PROMPT 73 4 "Doc." -END - -STRING F_NUMDOCEXT 50 -BEGIN - PROMPT 1 5 "Numero documento esteso " - FIELD NUMDOCEXT + PROMPT 73 5 "Doc." END LIST F_SOLAIVA 1 3 diff --git a/src/cg/cg2102.cpp b/src/cg/cg2102.cpp index de63c864d..33ced64dc 100755 --- a/src/cg/cg2102.cpp +++ b/src/cg/cg2102.cpp @@ -2593,6 +2593,18 @@ bool TPrimanota_application::numdoc_handler(TMask_field& f, KEY key) return true; } +bool TPrimanota_application::ndocext_handler(TMask_field& f, KEY key) +{ + TMask& m = f.mask(); + if (key == K_TAB && f.to_check(key, true) && m.get(F_NUMDOC).empty()) + { + // Mi precarico la dimensione del campo numdoc, così in caso di aggiornamenti non devo cambiare + static const int numdoc_size = TRectype(LF_MOV).length(MOV_NUMDOC); + m.set(F_NUMDOC, f.get().right(numdoc_size)); + } + return true; +} + bool TPrimanota_application::datadoc_handler(TMask_field& f, KEY key) { TMask& m = f.mask(); diff --git a/src/cg/cg2102.h b/src/cg/cg2102.h index bbed42dc8..a486a5cf9 100755 --- a/src/cg/cg2102.h +++ b/src/cg/cg2102.h @@ -93,6 +93,7 @@ class TPrimanota_application : public TRelation_application static bool data74ter_handler(TMask_field& f, KEY key); static bool datadoc_handler(TMask_field& f, KEY key); static bool numdoc_handler(TMask_field& f, KEY key); + static bool ndocext_handler(TMask_field& f, KEY key); static bool annorif_handler(TMask_field& f, KEY key); static bool numrif_handler(TMask_field& f, KEY key); static bool protiva_handler(TMask_field& f, KEY key); diff --git a/src/cg/f20.dir b/src/cg/f20.dir index 5061972fb..74fe19f52 100755 --- a/src/cg/f20.dir +++ b/src/cg/f20.dir @@ -1,3 +1,3 @@ -20 -0 -$clifo|0|0|783|0|Clienti/Fornitori||| +20 +0 +$clifo|4299|4300|809|0|Clienti/Fornitori||| diff --git a/src/cg/f20.trr b/src/cg/f20.trr index f4da013db..c44eef650 100755 --- a/src/cg/f20.trr +++ b/src/cg/f20.trr @@ -1,72 +1,74 @@ -20 -63 -TIPOCF|1|1|0|Tipo liente ornitore -CODCF|3|6|0|Codice -RAGSOC|1|50|0|Ragione sociale -INDCF|1|35|0|Indirizzo -CIVCF|1|10|0|Numero civico -LOCALITACF|1|35|0|Loacalita' -STATOCF|1|3|0|Çodice stato -COMCF|1|4|0|Codice comune -CAPCF|1|5|0|CAP -COFI|1|16|0|Codice fiscale -STATOPAIV|1|2|0|Stato ISO della partita IVA -PAIV|1|12|0|Partita IVA -TIPOPERS|1|1|0|Tipo persona isica iuridica -ALLEG|1|1|0|Inserimento in allegato -CODALLEG|3|6|0|Codice per allegato (se diverso) -GRUPPO|2|3|0|Gruppo prevalente (se presente) -CONTO|2|3|0|Conto prevalente (se presente) -GRUPPORIC|2|3|0|Gruppo prevalente di ricavo (se presente) -CONTORIC|2|3|0|Conto prevalente di ricavo (se presente) -SOTTOCRIC|3|6|0|Sottoconto prevalente di ricavo (se presente) -TIPOAPER|1|1|0|Tipo anagrafico percipiente -CODANAGPER|3|5|0|Codice angrafico percipiente -PTEL|1|10|0|Prefisso del numero di telefono -TEL|1|30|0|Numero di telefono -PTEL2|1|10|0|Prefisso del 2 numero di telefono -TEL2|1|30|0|2 numero di telefono -PTEL3|1|10|0|Prefisso del 3 numero di telefono -TEL3|1|30|0|3 numero di telefono -PFAX|1|10|0|Prefisso del numero di FAX -FAX|1|30|0|Numero di FAX -PTELEX|1|10|0|Prefisso del numero di TELEX -TELEX|1|30|0|Prefisso del numero di TELEX -MAIL|1|50|0|Indirizzo di posta elettronica generico -BYMAIL|8|1|0|Consenso all' invio dei documenti per posta elettronica -DOCMAIL|1|50|0|Indirizzo di posta elettronica per i documenti -DATANASC|5|8|0|Data di nascita -STATONASC|2|3|0|Codice stato di nascita -SESSO|1|1|0|Sesso -COMNASC|1|4|0|Codice comune di nascita -CODSTAT|1|7|0|Codice statistico -CODABI|10|5|0|Codice ABI banca -CODCAB|10|5|0|Codice CAB banca -NUMCC|1|20|0|Numero di conto corrente -IBAN|1|34|0|Codice IBAN -OCCAS|8|1|0|Cliente / fornitore occasionale -STATO|2|3|0|Codice stato -CODVAL|1|3|0|Codice valuta -CODLIN|1|1|0|Codice lingua -FIDO|4|18|2|Fido Cliente -CODPAG|1|4|0|Codice pagamento -RICALT|1|30|0|Sigla di ricerca alternativa -OGGETTI|11|10|0|Link ad oggetti esterni -SOSPESO|8|1|0|Anagrafica sospesa -DIRTY|1|1|0|Anagrafica modificata (NON UTILIZZATO) -REFERENTE|1|50|0|Persona referente presso il cliente/fornitore -VALINTRA|1|3|0|Codice Valuta Intracomunitaria -CODCFASS|3|6|0|Codice cliente (fornitori) o fornitore (clienti) associato -CODCFFATT|3|6|0|Codice cliente (fornitore) cui fatturare -DIPPUBB|8|1|0|Dipendente Pubblico -ENTE|1|4|0|Codice ente pubblico di appartenenza (Dipendente Pubblico) -SPLITPAY|8|1|0|Ente pubblico soggetto a split payment -UTENTE|1|32|0|Utente dell'ultima modifica -DATAAGG|5|8|0|Data ultima modifica -6 -TIPOCF+CODCF| -TIPOCF+UPPER(RAGSOC)|X -TIPOCF+GRUPPO+CONTO+CODCF| -TIPOCF+COFI|X -TIPOCF+STATOPAIV+PAIV|X -TIPOCF+RICALT|X +20 +65 +TIPOCF|1|1|0|Tipo liente ornitore +CODCF|3|6|0|Codice +RAGSOC|1|50|0|Ragione sociale +INDCF|1|35|0|Indirizzo +CIVCF|1|10|0|Numero civico +LOCALITACF|1|35|0|Loacalita' +STATOCF|1|3|0|Çodice stato +COMCF|1|4|0|Codice comune +CAPCF|1|5|0|CAP +COFI|1|28|0|Codice fiscale +STATOPAIV|1|2|0|Stato ISO della partita IVA +PAIV|1|12|0|Partita IVA +TIPOPERS|1|1|0|Tipo persona isica iuridica +ALLEG|1|1|0|Inserimento in allegato +CODALLEG|3|6|0|Codice per allegato (se diverso) +GRUPPO|2|3|0|Gruppo prevalente (se presente) +CONTO|2|3|0|Conto prevalente (se presente) +GRUPPORIC|2|3|0|Gruppo prevalente di ricavo (se presente) +CONTORIC|2|3|0|Conto prevalente di ricavo (se presente) +SOTTOCRIC|3|6|0|Sottoconto prevalente di ricavo (se presente) +TIPOAPER|1|1|0|Tipo anagrafico percipiente +CODANAGPER|3|5|0|Codice angrafico percipiente +PTEL|1|10|0|Prefisso del numero di telefono +TEL|1|30|0|Numero di telefono +PTEL2|1|10|0|Prefisso del 2 numero di telefono +TEL2|1|30|0|2 numero di telefono +PTEL3|1|10|0|Prefisso del 3 numero di telefono +TEL3|1|30|0|3 numero di telefono +PFAX|1|10|0|Prefisso del numero di FAX +FAX|1|30|0|Numero di FAX +PTELEX|1|10|0|Prefisso del numero di TELEX +TELEX|1|30|0|Prefisso del numero di TELEX +MAIL|1|50|0|Indirizzo di posta elettronica generico +BYMAIL|8|1|0|Consenso all' invio dei documenti per posta elettronica +DOCMAIL|1|50|0|Indirizzo di posta elettronica per i documenti +DATANASC|5|8|0|Data di nascita +STATONASC|2|3|0|Codice stato di nascita +SESSO|1|1|0|Sesso +COMNASC|1|4|0|Codice comune di nascita +CODSTAT|1|7|0|Codice statistico +CODABI|10|5|0|Codice ABI banca +CODCAB|10|5|0|Codice CAB banca +NUMCC|1|20|0|Numero di conto corrente +IBAN|1|34|0|Codice IBAN +OCCAS|8|1|0|Cliente / fornitore occasionale +STATO|2|3|0|Codice stato +CODVAL|1|3|0|Codice valuta +CODLIN|1|1|0|Codice lingua +FIDO|4|18|2|Fido Cliente +CODPAG|1|4|0|Codice pagamento +RICALT|1|30|0|Sigla di ricerca alternativa +OGGETTI|11|10|0|Link ad oggetti esterni +SOSPESO|8|1|0|Anagrafica sospesa +DIRTY|1|1|0|Anagrafica modificata (NON UTILIZZATO) +REFERENTE|1|50|0|Persona referente presso il cliente/fornitore +VALINTRA|1|3|0|Codice Valuta Intracomunitaria +CODCFASS|3|6|0|Codice cliente (fornitori) o fornitore (clienti) associato +CODCFFATT|3|6|0|Codice cliente (fornitore) cui fatturare +DIPPUBB|8|1|0|Dipendente Pubblico +ENTE|1|4|0|Codice ente pubblico di appartenenza (Dipendente Pubblico) +SPLITPAY|8|1|0|Ente pubblico soggetto a split payment +UTENTE|1|32|0|Utente dell'ultima modifica +DATAAGG|5|8|0|Data ultima modifica +CODRFSO|1|6|0|Codice Rappresentate Fisc/Stabile Org +DATARFSO|5|8|0| +6 +TIPOCF+CODCF| +TIPOCF+UPPER(RAGSOC)|X +TIPOCF+GRUPPO+CONTO+CODCF| +TIPOCF+COFI|X +TIPOCF+STATOPAIV+PAIV|X +TIPOCF+RICALT|X