Closed vittominacori closed 5 years ago
Ciao, la natura era già gestibile prima sia nelle linee sia nel riepilogo. Per favore prima di fare pull request discutiamo la modifica. Riesci a spiegarmi il motivo di queste modifiche? Non era sufficiente gestire la natura come prima, ovvero aggiungendo la natura attraverso la proprietà magica?
$lineaEsente->natura = Natura::Esenti;
se mi dai qualche indicazione in più vedo cosa fare.
Grazie mille per la collaborazione!
Ciao, si, ho infatti riportato la gestione della natura nei DatiRiepilogo a come era prima.
Per quanto riguarda le linee, invece, ho semplicemente aggiunto Natura al costruttore con un null di default. Tale modifica non rompe la retrocompatibilità.
Dato che, se Aliquota è uguale a zero, Natura diventa obbligatorio, è abbastanza comodo settarlo già nel costruttore (come ad esempio qui).
Settandolo tramite la proprietà, in casi come questo $lineaEsente->natura = '';
, succede che se non controllo prima che non sia empty esce comunque la riga <Natura></Natura>
non valorizzata.
Ciao, grazie per la proposta e per la gentile collaborazione! In questo caso preferisco lasciare le cose come stanno, nel caso di aliquota = 0 si usa la proprietà magica, nel caso di aliquote diverse da zero tanto meglio, non serve fare nulla. Nel costruttore mettiamo solo i parametri che sono sempre obbligatori. Non metto in dubbio che possa essere comodo avere il parametro nel costruttore, ma se applicassimo questo ragionamento anche negli altri blocchi, ovvero in caso di tag obbligatori condizionalmente, ci troveremmo con costruttori zeppi di parametri, a discapito di chiarezza e semplicità. Grazie ancora!
Aggiunto il campo
Natura
al costruttore del bloccoDettaglioLinee
. Tale valore è obbligatorio se il campoAliquotaIVA
è zero.