Esempio n. 1
0
 /**
  * @return ErrorElements
  */
 public function validateMontantTVAFrancaise()
 {
     $value = $this->round($this->_object->getMontantTVAFrancaise());
     if ($value) {
         // var montant_TVA_francaise = (montant_HT_en_devise_X_m * taux_de_TVA_X_m) / m / m;
         /*  if (($value - $this->_object->getMontantHTEnDevise() * $this->_object->getTauxDeTVA()) > static::EPSILON) {
                 $this->_errorElement->with('montant_TVA_francaise')->addViolation('"Montant TVA française" non valide (doit etre "Montant HT en devise" * "Taux de TVA / 100")')->end();
             } */
         //Montant HT en devise * 100000" * "Taux de TVA * 100000") / 100000 / 100000 = Montant HT en devise * "Taux de TVA
         $this->formatTauxDeTVA();
         $m = 100000;
         $calcValue = $this->round($this->_object->getMontantHTEnDevise() * $m * ($this->_object->getTauxDeTVA() * $m) / $m / $m, 2);
         $calcValue2 = $this->round($this->_object->getMontantHTEnDevise() * $this->_object->getTauxDeTVA(), 2);
         if ((int) $calcValue2 != (int) $calcValue) {
             $this->_errorElement->with('montant_TVA_francaise')->addViolation('"Montant TVA française" non valide (doit etre ("Montant HT en devise * 100000" * "Taux de TVA * 100000") / 100000 / 100000")')->end();
         }
     }
     return $this;
 }