本文整理汇总了PHP中fs_controller::new_message方法的典型用法代码示例。如果您正苦于以下问题:PHP fs_controller::new_message方法的具体用法?PHP fs_controller::new_message怎么用?PHP fs_controller::new_message使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类fs_controller
的用法示例。
在下文中一共展示了fs_controller::new_message方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: importar_caja
//.........这里部分代码省略.........
case 'TD':
contabilidad_asiento::add_partida($asiento, $divisa, '1102010000', array('debe' => 0, 'haber' => $recibo->importe, 'comprobante' => ''));
break;
default:
$controller->new_error_msg("La forma de pago no está configurada para ser importada!");
break;
}
// Después de eso viene la parte "compleja":
// Si la factura del recibo está pagada
if ($factura->pagada) {
// El monto total de la factura es igual al del recibo?
if ($recibo->importe === $factura->total) {
// tomamos todos los articulos y los importamos de acuerdo a la subcuenta de venta
// que está declarada en cada articulo (este es el caso "normal", como por ejemplo
// el de las COMIDAS_PERSONAL
foreach ($lineas as $linea) {
$articulo = $art->get($linea->referencia);
// Si no hay articulo tengo un grave problema
if ($articulo && $articulo->codsubcuentaven) {
contabilidad_asiento::add_partida($asiento, $divisa, $articulo->codsubcuentaven, array('debe' => 0, 'haber' => $linea->pvptotal, 'comprobante' => ''));
} else {
$controller->new_error_msg('La factura: <a href="' . $factura->url() . '">#' . $factura->numero . '</a> tiene un un artículo inexistente: ' . $linea->referencia . 'o el artículo no tiene configurada la cuenta a la que deve ser cargada');
}
}
} else {
// Si la factura está paga pero los totales difieren
// Eso quiere decir que los pagos están dispersos entre varias cajas, por lo que tengo que
// importar solamente el monto del recibo
// si el artículo que tiene soalemente es una reserva
if (count($lineas) === 1 && $lineas[0]->referencia === 'Reserva') {
// se agrega la partida a la subcuenta 210101003
contabilidad_asiento::add_partida($asiento, $divisa, '210101003', array('debe' => 0, 'haber' => $recibo->importe, 'comprobante' => ''));
contabilidad_asiento::add_partida($asiento, $divisa, '410101001', array('debe' => 0, 'haber' => $factura->total, 'comprobante' => ''));
} else {
// No se que hacer en estos casos
$controller->new_error_msg('La factura <a href="' . $factura->url() . '">#' . $factura->numero . '</a> está paga pero el importe está distribuido y contiene otros articulos que no' . ', por lo que no puede ser importada en un asiento contable por favor ignore la caja #' . $caja->id);
$continuar = false;
}
}
} else {
// Si la factura no está paga y el artículo es una reserva
// entonces los recibos van a la subcuenta 210101003
if (count($lineas) === 1 && $lineas[0]->referencia === 'Reserva') {
contabilidad_asiento::add_partida($asiento, $divisa, '210101003', array('debe' => 0, 'haber' => $recibo->importe, 'comprobante' => ''));
} else {
//No se que hacer en estos casos
$controller->new_error_msg('La factura <a href="' . $factura->url() . '">#' . $factura->numero . '</a> no está paga y contiene otros articulos que no son una reserva, por lo que no ' . ' puede ser importada en un asiento contable por favor ignore la caja #' . $caja->id);
$continuar = false;
}
}
}
if ($continuar) {
$cajas_importadas[] = $caja;
}
}
// Si todas las cajas fueron importadas correctamente
if ($continuar) {
// Guardo las partidas asociadas al asiento en la BBDD
foreach (contabilidad_asiento::$partidas as $subcuenta => $partida) {
// Creamos una nueva partida
$part = new partida();
// Cargamos los valores en la partida
foreach ($partida as $name => $value) {
if (property_exists($part, $name)) {
$part->{$name} = $value;
}
}
$part->referencia = 'Caja importada el ' . date('Y-m-d H:i:s') . ' por ' . $controller->user->get_agente()->get_fullname();
// Al guardar la partida se actualiza automáticamente los valores de la subcuenta
// Y el monto del asiento
if ($part->save()) {
$continuar = $continuar && true;
} else {
$continuar = false;
}
}
if ($continuar) {
foreach ($cajas_importadas as $caja) {
$caja->setIdAsiento($asiento->idasiento);
if (!$caja->save()) {
$controller->new_error_msg("Error al actualizar la caja #" . $caja->id);
$continuar = $continuar && true;
} else {
$continuar = false;
}
}
if ($continuar) {
$controller->new_message('Cajas importada correctamente');
} else {
$controller->new_error_msg('Hubo algún error al vincular el asiento con las cajas');
}
} else {
// Creo que acá tendría que hacer rollback de toda la transacción
$controller->new_error_msg("Error al guardar una partida al asiento");
}
} else {
$controller->new_error_msg("Error al importar cajas");
}
return $continuar;
}