Patch level : 12.0 676
Files correlati : ve Commento : Se in una riga di sconto metto l'aliquota viene usata questa invece di suddividere l'imponibile tra le aliquote della fqttura La stampa tabelle vendite chiamava un programma sbagliato Aggiunto un parametro di configurazione nascosto (UpdateProtocol=[ |X]) che forza la rilettura del protocollo IVA a ogni documento contabilizzato Si puòora indicare un conto patrimoniale per le spese di incasso e bolli
This commit is contained in:
parent
e9bac721ef
commit
7d93b65814
@ -1317,6 +1317,7 @@ void TMotore_application::preview()
|
|||||||
int TMotore_application::checkPlafondWrite(TDocumento& d)
|
int TMotore_application::checkPlafondWrite(TDocumento& d)
|
||||||
{
|
{
|
||||||
TLi_manager plafond(d.tipocf(), d.codcf(), d.data());
|
TLi_manager plafond(d.tipocf(), d.codcf(), d.data());
|
||||||
|
|
||||||
if(!plafond.hasValidPlafond()) // Se il cliente non mi interessa
|
if(!plafond.hasValidPlafond()) // Se il cliente non mi interessa
|
||||||
return NOERR;
|
return NOERR;
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ STRING F_SPINCODCON2V 3
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 29 4 ""
|
PROMPT 29 4 ""
|
||||||
FIELD SPINCODCONV[2]
|
FIELD SPINCODCONV[2]
|
||||||
USE LF_PCON SELECT INDBIL=="4"
|
USE LF_PCON SELECT ((CONTO!="") && (SOTTOCONTO=="")) && ((INDBIL=="2")||(INDBIL=="4"))
|
||||||
INPUT GRUPPO F_SPINCODCON1V
|
INPUT GRUPPO F_SPINCODCON1V
|
||||||
INPUT CONTO F_SPINCODCON2V
|
INPUT CONTO F_SPINCODCON2V
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
@ -55,6 +55,7 @@ DISPLAY "Sottoconto" SOTTOCONTO
|
|||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
OUTPUT F_SPINCODCON1V GRUPPO
|
OUTPUT F_SPINCODCON1V GRUPPO
|
||||||
OUTPUT F_SPINCODCON2V CONTO
|
OUTPUT F_SPINCODCON2V CONTO
|
||||||
|
WARNING "Il conto deve essere un ricavo o una passività"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -62,7 +63,7 @@ STRING F_SPINCODCON3V 6
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 35 4 ""
|
PROMPT 35 4 ""
|
||||||
FIELD SPINCODCONV[3]
|
FIELD SPINCODCONV[3]
|
||||||
USE LF_PCON SELECT (SOTTOCONTO!="") && (500@->INDBIL=="4")
|
USE LF_PCON SELECT (SOTTOCONTO!="") && ((500@->INDBIL=="2")||(500@->INDBIL=="4"))
|
||||||
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
||||||
COPY INPUT F_SPINCODCON2V
|
COPY INPUT F_SPINCODCON2V
|
||||||
INPUT SOTTOCONTO F_SPINCODCON3V
|
INPUT SOTTOCONTO F_SPINCODCON3V
|
||||||
@ -73,13 +74,14 @@ DISPLAY "Descrizione@50" DESCR
|
|||||||
COPY OUTPUT F_SPINCODCON2V
|
COPY OUTPUT F_SPINCODCON2V
|
||||||
OUTPUT F_SPINCODCON3V SOTTOCONTO
|
OUTPUT F_SPINCODCON3V SOTTOCONTO
|
||||||
OUTPUT F_SPINDESCONV DESCR
|
OUTPUT F_SPINDESCONV DESCR
|
||||||
|
WARNING "Il conto deve essere un ricavo o una passività"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_SPINDESCONV 50
|
STRING F_SPINDESCONV 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 5 "Descrizione "
|
PROMPT 2 5 "Descrizione "
|
||||||
USE LF_PCON KEY 2 SELECT (SOTTOCONTO!="") && (500@->INDBIL=="4")
|
USE LF_PCON KEY 2 SELECT (SOTTOCONTO!="") && ((500@->INDBIL=="2")||(500@->INDBIL=="4"))
|
||||||
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
||||||
INPUT DESCR F_SPINDESCONV
|
INPUT DESCR F_SPINDESCONV
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
@ -101,7 +103,7 @@ STRING F_SPINCODCON2A 3
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 29 6 ""
|
PROMPT 29 6 ""
|
||||||
FIELD SPINCODCONA[2]
|
FIELD SPINCODCONA[2]
|
||||||
USE LF_PCON SELECT INDBIL=="3"
|
USE LF_PCON SELECT ((CONTO!="") && (SOTTOCONTO=="")) && ((INDBIL=="1")||(INDBIL=="3"))
|
||||||
INPUT GRUPPO F_SPINCODCON1A
|
INPUT GRUPPO F_SPINCODCON1A
|
||||||
INPUT CONTO F_SPINCODCON2A
|
INPUT CONTO F_SPINCODCON2A
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
@ -117,7 +119,7 @@ STRING F_SPINCODCON3A 6
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 35 6 ""
|
PROMPT 35 6 ""
|
||||||
FIELD SPINCODCONA[3]
|
FIELD SPINCODCONA[3]
|
||||||
USE LF_PCON SELECT (SOTTOCONTO!="") && (500@->INDBIL=="3")
|
USE LF_PCON SELECT (SOTTOCONTO!="") && ((500@->INDBIL=="1")||(500@->INDBIL=="3"))
|
||||||
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
||||||
COPY INPUT F_SPINCODCON2A
|
COPY INPUT F_SPINCODCON2A
|
||||||
INPUT SOTTOCONTO F_SPINCODCON3A
|
INPUT SOTTOCONTO F_SPINCODCON3A
|
||||||
@ -128,13 +130,14 @@ DISPLAY "Descrizione@50" DESCR
|
|||||||
COPY OUTPUT F_SPINCODCON2A
|
COPY OUTPUT F_SPINCODCON2A
|
||||||
OUTPUT F_SPINCODCON3A SOTTOCONTO
|
OUTPUT F_SPINCODCON3A SOTTOCONTO
|
||||||
OUTPUT F_SPINDESCONA DESCR
|
OUTPUT F_SPINDESCONA DESCR
|
||||||
|
WARNING "Il conto deve essere un costo o una attività"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_SPINDESCONA 50
|
STRING F_SPINDESCONA 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 7 "Descrizione "
|
PROMPT 2 7 "Descrizione "
|
||||||
USE LF_PCON KEY 2 SELECT (SOTTOCONTO!="") && (500@->INDBIL=="3")
|
USE LF_PCON KEY 2 SELECT (SOTTOCONTO!="") && ((500@->INDBIL=="1")||(500@->INDBIL=="3"))
|
||||||
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
||||||
INPUT DESCR F_SPINDESCONA
|
INPUT DESCR F_SPINDESCONA
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
@ -142,6 +145,7 @@ DISPLAY "Gruppo" GRUPPO
|
|||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Sottoconto" SOTTOCONTO
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
COPY OUTPUT F_SPINCODCON3A
|
COPY OUTPUT F_SPINCODCON3A
|
||||||
|
WARNING "Il conto deve essere un costo o una attività"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -186,7 +190,7 @@ STRING F_SPBOCODCON2V 3
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 29 12 ""
|
PROMPT 29 12 ""
|
||||||
FIELD SPBOCODCONV[2]
|
FIELD SPBOCODCONV[2]
|
||||||
USE LF_PCON SELECT INDBIL=="4"
|
USE LF_PCON SELECT ((CONTO!="") && (SOTTOCONTO=="")) && ((INDBIL=="2")||(INDBIL=="4"))
|
||||||
INPUT GRUPPO F_SPBOCODCON1V
|
INPUT GRUPPO F_SPBOCODCON1V
|
||||||
INPUT CONTO F_SPBOCODCON2V
|
INPUT CONTO F_SPBOCODCON2V
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
@ -202,7 +206,7 @@ STRING F_SPBOCODCON3V 6
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 35 12 ""
|
PROMPT 35 12 ""
|
||||||
FIELD SPBOCODCONV[3]
|
FIELD SPBOCODCONV[3]
|
||||||
USE LF_PCON SELECT (SOTTOCONTO!="") && (500@->INDBIL=="4")
|
USE LF_PCON SELECT (SOTTOCONTO!="") && ((500@->INDBIL=="2")||(500@->INDBIL=="4"))
|
||||||
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
||||||
COPY INPUT F_SPBOCODCON2V
|
COPY INPUT F_SPBOCODCON2V
|
||||||
INPUT SOTTOCONTO F_SPBOCODCON3V
|
INPUT SOTTOCONTO F_SPBOCODCON3V
|
||||||
@ -213,14 +217,14 @@ DISPLAY "Descrizione@50" DESCR
|
|||||||
COPY OUTPUT F_SPBOCODCON2V
|
COPY OUTPUT F_SPBOCODCON2V
|
||||||
OUTPUT F_SPBOCODCON3V SOTTOCONTO
|
OUTPUT F_SPBOCODCON3V SOTTOCONTO
|
||||||
OUTPUT F_SPBODESCONV DESCR
|
OUTPUT F_SPBODESCONV DESCR
|
||||||
WARNING "Il conto deve essere un ricavo"
|
WARNING "Il conto deve essere un ricavo o una passività"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_SPBODESCONV 50
|
STRING F_SPBODESCONV 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 13 "Descrizione "
|
PROMPT 2 13 "Descrizione "
|
||||||
USE LF_PCON KEY 2 SELECT (SOTTOCONTO!="") && (500@->INDBIL=="4")
|
USE LF_PCON KEY 2 SELECT (SOTTOCONTO!="") && ((500@->INDBIL=="2")||(500@->INDBIL=="4"))
|
||||||
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
||||||
INPUT DESCR F_SPBODESCONV
|
INPUT DESCR F_SPBODESCONV
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
@ -228,7 +232,7 @@ DISPLAY "Gruppo" GRUPPO
|
|||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Sottoconto" SOTTOCONTO
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
COPY OUTPUT F_SPBOCODCON3V
|
COPY OUTPUT F_SPBOCODCON3V
|
||||||
WARNING "Il conto deve essere un ricavo"
|
WARNING "Il conto deve essere un ricavo o una passività"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -243,7 +247,7 @@ STRING F_SPBOCODCON2A 3
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 29 14 ""
|
PROMPT 29 14 ""
|
||||||
FIELD SPBOCODCONA[2]
|
FIELD SPBOCODCONA[2]
|
||||||
USE LF_PCON SELECT INDBIL=="3"
|
USE LF_PCON SELECT ((CONTO!="") && (SOTTOCONTO=="")) && ((INDBIL=="1")||(INDBIL=="3"))
|
||||||
INPUT GRUPPO F_SPBOCODCON1A
|
INPUT GRUPPO F_SPBOCODCON1A
|
||||||
INPUT CONTO F_SPBOCODCON2A
|
INPUT CONTO F_SPBOCODCON2A
|
||||||
DISPLAY "Gruppo" GRUPPO
|
DISPLAY "Gruppo" GRUPPO
|
||||||
@ -259,7 +263,7 @@ STRING F_SPBOCODCON3A 6
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 35 14 ""
|
PROMPT 35 14 ""
|
||||||
FIELD SPBOCODCONA[3]
|
FIELD SPBOCODCONA[3]
|
||||||
USE LF_PCON SELECT (SOTTOCONTO!="") && (500@->INDBIL=="3")
|
USE LF_PCON SELECT (SOTTOCONTO!="") && ((500@->INDBIL=="1")||(500@->INDBIL=="3"))
|
||||||
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
||||||
COPY INPUT F_SPBOCODCON2A
|
COPY INPUT F_SPBOCODCON2A
|
||||||
INPUT SOTTOCONTO F_SPBOCODCON3A
|
INPUT SOTTOCONTO F_SPBOCODCON3A
|
||||||
@ -270,14 +274,14 @@ DISPLAY "Descrizione@50" DESCR
|
|||||||
COPY OUTPUT F_SPBOCODCON2A
|
COPY OUTPUT F_SPBOCODCON2A
|
||||||
OUTPUT F_SPBOCODCON3A SOTTOCONTO
|
OUTPUT F_SPBOCODCON3A SOTTOCONTO
|
||||||
OUTPUT F_SPBODESCONA DESCR
|
OUTPUT F_SPBODESCONA DESCR
|
||||||
WARNING "Il conto deve essere un costo"
|
WARNING "Il conto deve essere un costo o una attività"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_SPBODESCONA 50
|
STRING F_SPBODESCONA 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 15 "Descrizione "
|
PROMPT 2 15 "Descrizione "
|
||||||
USE LF_PCON KEY 2 SELECT (SOTTOCONTO!="") && (500@->INDBIL=="3")
|
USE LF_PCON KEY 2 SELECT (SOTTOCONTO!="") && ((500@->INDBIL=="1")||(500@->INDBIL=="3"))
|
||||||
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
JOIN LF_PCON ALIAS 500 INTO GRUPPO==GRUPPO CONTO==CONTO
|
||||||
INPUT DESCR F_SPBODESCONA
|
INPUT DESCR F_SPBODESCONA
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
@ -285,7 +289,7 @@ DISPLAY "Gruppo" GRUPPO
|
|||||||
DISPLAY "Conto" CONTO
|
DISPLAY "Conto" CONTO
|
||||||
DISPLAY "Sottoconto" SOTTOCONTO
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
COPY OUTPUT F_SPBOCODCON3A
|
COPY OUTPUT F_SPBOCODCON3A
|
||||||
WARNING "Il conto deve essere un costo"
|
WARNING "Il conto deve essere un costo o una attività"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -565,7 +565,10 @@ real TRiga_documento::importo(bool scontato, bool lordo, int ndec) const
|
|||||||
importo = -prezzo(false, lordo, ALL_DECIMALS);
|
importo = -prezzo(false, lordo, ALL_DECIMALS);
|
||||||
TGeneric_distrib d(importo, ALL_DECIMALS);
|
TGeneric_distrib d(importo, ALL_DECIMALS);
|
||||||
TRiepilogo_iva * aliquota;
|
TRiepilogo_iva * aliquota;
|
||||||
|
const TString4 codiva = get(RDOC_CODIVA);
|
||||||
|
|
||||||
|
if (codiva.blank())
|
||||||
|
{
|
||||||
if (doc_al_lordo)
|
if (doc_al_lordo)
|
||||||
{
|
{
|
||||||
if (!lordo)
|
if (!lordo)
|
||||||
@ -609,6 +612,23 @@ real TRiga_documento::importo(bool scontato, bool lordo, int ndec) const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TCodiceIVA i(codiva);
|
||||||
|
|
||||||
|
if (doc_al_lordo)
|
||||||
|
{
|
||||||
|
if (!lordo)
|
||||||
|
importo += i.imposta(importo, ALL_DECIMALS, ((TDocumento &)doc()).valuta());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (lordo)
|
||||||
|
importo += i.imposta(importo, ALL_DECIMALS, ((TDocumento &)doc()).valuta());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -1197,9 +1197,9 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Codice registro IVA
|
// Codice registro IVA
|
||||||
const TRegistro& registro = _caus->reg();
|
TRegistro& registro = _caus->reg();
|
||||||
const bool iva_mov = registro.ok();
|
const bool iva_mov = registro.ok();
|
||||||
long ult_prot = 0;
|
long ult_prot = registro.protocol();
|
||||||
|
|
||||||
if (iva_mov)
|
if (iva_mov)
|
||||||
{
|
{
|
||||||
@ -1212,8 +1212,10 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
|||||||
{
|
{
|
||||||
if (_nump_iva) // Reperisce l'ultimo numero di protocollo dal registro IVA
|
if (_nump_iva) // Reperisce l'ultimo numero di protocollo dal registro IVA
|
||||||
{
|
{
|
||||||
|
const bool upd_prot = ini_get_bool(CONFIG_DITTA, "ve", "UpdateProtocol", true);
|
||||||
TRegistro reg(registro);
|
TRegistro reg(registro);
|
||||||
|
|
||||||
|
if (upd_prot)
|
||||||
ult_prot = reg.protocol();
|
ult_prot = reg.protocol();
|
||||||
ult_prot++;
|
ult_prot++;
|
||||||
if (ult_prot <= 0)
|
if (ult_prot <= 0)
|
||||||
@ -1221,7 +1223,10 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
|||||||
_error = ultprot_error;
|
_error = ultprot_error;
|
||||||
return _error;
|
return _error;
|
||||||
}
|
}
|
||||||
|
if (upd_prot)
|
||||||
reg.update(ult_prot, doc.data());
|
reg.update(ult_prot, doc.data());
|
||||||
|
else
|
||||||
|
registro.update(ult_prot, doc.data());
|
||||||
}
|
}
|
||||||
else // oppure dal numero di documento
|
else // oppure dal numero di documento
|
||||||
ult_prot = doc.numero();
|
ult_prot = doc.numero();
|
||||||
|
@ -75,12 +75,12 @@ Caption = "Stampa tabelle personalizzazione documenti"
|
|||||||
Picture = <ba03>
|
Picture = <ba03>
|
||||||
Module = 0
|
Module = 0
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Tipo documento", "ve1 -3 %TIP", "F"
|
Item_01 = "Tipo documento", "ba3 -1 %TIP", "F"
|
||||||
Item_02 = "Numerazione documenti", "ve1 -3 %NUM", "F"
|
Item_02 = "Numerazione documenti", "ba3 -1 %NUM", "F"
|
||||||
Item_03 = "Tipo riga documento", "ve1 -3 %TRI", "F"
|
Item_03 = "Tipo riga documento", "ba3 -1 %TRI", "F"
|
||||||
Item_04 = "Formule documento", "ve1 -3 %FRD", "F"
|
Item_04 = "Formule documento", "ba3 -1 %FRD", "F"
|
||||||
Item_05 = "Formule righe documento", "ve1 -3 %FRR", "F"
|
Item_05 = "Formule righe documento", "ba3 -1 %FRR", "F"
|
||||||
Item_06 = "Formule ricalcolo magazzino", "ve1 -3 %FRM", "F"
|
Item_06 = "Formule ricalcolo magazzino", "ba3 -1 %FRM", "F"
|
||||||
Item_07 = "Elaborazioni differite", "ve1 -3 %ELD", "F"
|
Item_07 = "Elaborazioni differite", "ba3 -1 %ELD", "F"
|
||||||
Item_08 = "Stati documento", "ve1 -3 %STD", "F"
|
Item_08 = "Stati documento", "ba3 -1 %STD", "F"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user