Ahi va pues la segunda parte.... falta la tercera:
Código PHP:
function cerrar() {
global $recons, $iden, $base, $puerto, $motor, $host, $usuario, $fecha_i, $fecha_f, $ano_mesa, $fmtfecha, $ano_mesf, $db;
$ya = hoy_minuto("YMD");
echo "inicia:$ya<br>\n";
if ($recons==1)
{
$fecha_f = hoy($fmtfecha);
$ano_mesf =0;
}
if ($motor != "Oci8po") {
$lee = "SET LOCK MODE TO WAIT";
$x = ejecuta_query($lee);
}
# poner sinve de ano_mesf en cero
$lee = "UPDATE sinve SET sinve.saldo = 0, sinve.costo = 0 WHERE sinve.saldo <> 0 AND ano_mesi = $ano_mesf ";
begin_work();
ejecuta_query($lee);
commit();
# poner sinvnit de ano_mesf en cero
$lee = "UPDATE sinvnit SET sinvnit.saldo_nit = 0 WHERE sinvnit.saldo_nit <> 0 AND ano_mes = $ano_mesf AND nit > 0 AND almacen != 0 ";
begin_work();
ejecuta_query($lee);
commit();
#poner ano_mesf = ano_mesa
$lee = "SELECT sinve.item, sinve.almacen, sinve.costo, sinve.saldo FROM sinve WHERE ano_mesi = $ano_mesa ";
$mat_sal = lee_todo($lee);
$k=count($mat_sal);
for($i=0; $i<$k; $i++)
{
begin_work();
$item = $mat_sal[$i]['item'];
$almacen = $mat_sal[$i]['almacen'];
$saldo = $mat_sal[$i]['saldo'];
$costo = $mat_sal[$i]['costo'];
$lee = "SELECT sinve.item FROM sinve WHERE item = '$item' AND ano_mesi = $ano_mesf AND almacen = $almacen ";
$m_a = lee_uno($lee);
if (strlen(trim($m_a['item']))>0)
$lee = "UPDATE sinve SET saldo = saldo + $saldo, costo = costo + $costo WHERE item = '$item' AND ano_mesi = $ano_mesf AND almacen = $almacen ";
else
$lee = "INSERT INTO sinve (item, almacen, ano_mesi, saldo, costo) VALUES ('$item',$almacen,$ano_mesf,$saldo,$costo) ";
ejecuta_query($lee);
commit();
}
#poner ano_mesf = ano_mesa de sinvnit para lamacenes P y F
$lee = "SELECT sinvnit.item, sinvnit.almacen, sinvnit.nit, sinvnit.saldo_nit FROM sinvnit WHERE ano_mes = $ano_mesa AND almacen != 0 AND nit > 0 AND saldo_nit != 0 ";
$mat_sal = lee_todo($lee);
$k=count($mat_sal);
for($i=0; $i<$k; $i++)
{
begin_work();
$item = $mat_sal[$i]['item'];
$almacen = $mat_sal[$i]['almacen'];
$saldo = $mat_sal[$i]['saldo_nit'];
$nit = $mat_sal[$i]['nit'];
$lee = "SELECT sinvnit.item FROM sinvnit WHERE item = '$item' AND ano_mes = $ano_mesf AND almacen = $almacen AND nit = $nit ";
$m_a = lee_uno($lee);
if (strlen(trim($m_a['item']))>0)
$lee = "UPDATE sinvnit SET saldo_nit = saldo_nit + $saldo WHERE item = '$item' AND ano_mes = $ano_mesf AND almacen = $almacen AND nit = $nit ";
else
$lee = "INSERT INTO sinvnit (item, almacen, ano_mes, saldo_nit, nit) VALUES ('$item',$almacen,$ano_mesf,$saldo,$nit) ";
ejecuta_query($lee);
commit();
}
# ver movimiento por almacen e item
$lee = "SELECT DISTINCT almacen2, clase_almacen FROM movil, almacenes WHERE movil.almacen2 = almacenes.almacen AND fecha BETWEEN '$fecha_i' AND '$fecha_f' AND almacen2 >0 ORDER BY almacen2 ";
$mat_sal = lee_todo($lee);
$k1=count($mat_sal);
for($pasada=0; $pasada<2; $pasada++)
{
for($i=0; $i<$k1; $i++)
{
$almacen = $mat_sal[$i]['almacen2'];
$clase_a = trim($mat_sal[$i]['clase_almacen']);
if ($iden['inv_cronologico']=="S")
{}
else
$lee = "SELECT DISTINCT movil.item FROM movil, inve WHERE movil.item = inve.item AND inve.unidad != 'INT' AND movil.fecha BETWEEN '$fecha_i' AND '$fecha_f' AND almacen2 = $almacen ORDER BY item ";
$mat_ite = lee_todo($lee);
for($j=0; $j<count($mat_ite); $j++)
{
begin_work();
$item = trim($mat_ite[$j]['item']);
$u_promedio = 0;
$lee = "SELECT sinve.saldo, sinve.costo FROM sinve WHERE ano_mesi = $ano_mesa AND almacen = $almacen AND item = '$item' ";
$m_sal = lee_uno($lee);
$saldo = 0;
$costo = 0;
if ($m_sal['saldo']!= 0)
{
$saldo = $m_sal['saldo'];
$costo = $m_sal['costo'];
$u_promedio = $costo/$saldo;
}
$lee = "SELECT movil.transaccion, movil.numero, movil.fecha, movil.prioridad, movil.cantidad, movil.valor, movil.costo_tr, tipo_c, movih.nit, movil.origen, movih.nota, movih.fecha_grab, movih.almacen_destino, movih.t_pedido, movih.n_pedido FROM movil,movih, comprobante, nits WHERE movih.transaccion = movil.transaccion AND movih.numero = movil.numero AND movih.nit = nits.nit AND movil.transaccion = comprobante.comprob AND movil.item = '$item' AND movil.almacen2 = $almacen AND prioridad > 0 AND movil.fecha BETWEEN '$fecha_i' AND '$fecha_f' ORDER BY movil.fecha, movil.prioridad, movil.transaccion, movil.numero ";
$mat_mov = lee_todo($lee);
$mat_nit = array();