deved-it / fattura-elettronica

Fatturazione Elettronica Italiana
https://deved-it.github.io/fattura-elettronica
MIT License
78 stars 36 forks source link

Feat: aggiunto "Natura" a DettaglioLinee #68

Closed vittominacori closed 5 years ago

vittominacori commented 5 years ago

Aggiunto il campo Natura al costruttore del blocco DettaglioLinee. Tale valore è obbligatorio se il campo AliquotaIVA è zero.

salgua commented 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!

vittominacori commented 5 years ago

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.

salgua commented 5 years ago

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!