本文整理汇总了PHP中factura_cliente::floatcmp方法的典型用法代码示例。如果您正苦于以下问题:PHP factura_cliente::floatcmp方法的具体用法?PHP factura_cliente::floatcmp怎么用?PHP factura_cliente::floatcmp使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类factura_cliente
的用法示例。
在下文中一共展示了factura_cliente::floatcmp方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: nueva_factura_cliente
//.........这里部分代码省略.........
$factura->observaciones = $_POST['observaciones'];
$factura->numero2 = $_POST['numero2'];
$factura->irpf = $serie->irpf;
$factura->porcomision = $this->agente->porcomision;
foreach ($cliente->get_direcciones() as $d) {
if ($d->domfacturacion) {
$factura->codcliente = $cliente->codcliente;
$factura->cifnif = $cliente->cifnif;
$factura->nombrecliente = $cliente->nombrecomercial;
$factura->apartado = $d->apartado;
$factura->ciudad = $d->ciudad;
$factura->coddir = $d->id;
$factura->codpais = $d->codpais;
$factura->codpostal = $d->codpostal;
$factura->direccion = $d->direccion;
$factura->provincia = $d->provincia;
break;
}
}
if (is_null($factura->codcliente)) {
$this->new_error_msg("No hay ninguna dirección asociada al cliente.");
} else {
if ($factura->save()) {
$art0 = new articulo();
$n = floatval($_POST['numlineas']);
for ($i = 0; $i <= $n; $i++) {
if (isset($_POST['referencia_' . $i])) {
$articulo = $art0->get($_POST['referencia_' . $i]);
if ($articulo) {
$linea = new linea_factura_cliente();
$linea->idfactura = $factura->idfactura;
$linea->referencia = $articulo->referencia;
$linea->descripcion = $_POST['desc_' . $i];
if (!$serie->siniva and $cliente->regimeniva != 'Exento') {
$imp0 = $this->impuesto->get_by_iva($_POST['iva_' . $i]);
if ($imp0) {
$linea->codimpuesto = $imp0->codimpuesto;
$linea->iva = floatval($_POST['iva_' . $i]);
$linea->recargo = floatval($_POST['recargo_' . $i]);
} else {
$linea->iva = floatval($_POST['iva_' . $i]);
$linea->recargo = floatval($_POST['recargo_' . $i]);
}
}
if ($linea->iva > 0) {
$linea->irpf = $factura->irpf;
}
$linea->pvpunitario = floatval($_POST['pvp_' . $i]);
$linea->cantidad = floatval($_POST['cantidad_' . $i]);
$linea->dtopor = floatval($_POST['dto_' . $i]);
$linea->pvpsindto = $linea->pvpunitario * $linea->cantidad;
$linea->pvptotal = floatval($_POST['neto_' . $i]);
if ($linea->save()) {
/// descontamos del stock
$articulo->sum_stock($factura->codalmacen, 0 - $linea->cantidad);
$factura->neto += $linea->pvptotal;
$factura->totaliva += $linea->pvptotal * $linea->iva / 100;
$factura->totalirpf += $linea->pvptotal * $linea->irpf / 100;
$factura->totalrecargo += $linea->pvptotal * $linea->recargo / 100;
} else {
$this->new_error_msg("¡Imposible guardar la linea con referencia: " . $linea->referencia);
$continuar = FALSE;
}
} else {
$this->new_error_msg("Artículo no encontrado: " . $_POST['referencia_' . $i]);
$continuar = FALSE;
}
}
}
if ($continuar) {
/// redondeamos
$factura->neto = round($factura->neto, FS_NF0);
$factura->totaliva = round($factura->totaliva, FS_NF0);
$factura->totalirpf = round($factura->totalirpf, FS_NF0);
$factura->totalrecargo = round($factura->totalrecargo, FS_NF0);
$factura->total = $factura->neto + $factura->totaliva - $factura->totalirpf + $factura->totalrecargo;
if (!$factura->floatcmp($factura->total, $_POST['atotal'], FS_NF0)) {
$this->new_error_msg("El total difiere entre el controlador y la vista (" . $factura->total . " frente a " . $_POST['atotal'] . "). Debes informar del error.");
$factura->delete();
} else {
if ($factura->save()) {
$this->new_message("<a href='" . $factura->url() . "'>Factura</a> guardada correctamente.");
$this->new_change('Factura Cliente ' . $factura->codigo, $factura->url(), TRUE);
} else {
$this->new_error_msg("¡Imposible actualizar la <a href='" . $factura->url() . "'>Factura</a>!");
}
}
} else {
if ($factura->delete()) {
$this->new_message("Factura eliminada correctamente.");
} else {
$this->new_error_msg("¡Imposible eliminar la <a href='" . $factura->url() . "'>Factura</a>!");
}
}
} else {
$this->new_error_msg("¡Imposible guardar la Factura!");
}
}
}
}