Witam, jasne że jest sposób na rozliczanie z saldem >=0 

update documents set closed=1 where type=1 and  customerid in (select customerid from cash group by customerid HAVING SUM(value) >=0 )

Ponadto popełniłem skrypt który raz na dobę sprawdza czy s± wpłaty i rozlicza najstarsz± FV ( można pu¶cić kilka razy jak jest wiecej fv do rozliczenia )

--------------------------------------
#!/usr/local/bin/bash

echo "update documents set closed=1 where type=1 and  customerid in (select customerid from cash group by customerid HAVING SUM(value) >=0 )" |  /usr/local/bin/psql -A -t -F' ' --no-password  -d lms -U lms

echo rozliczono pro userow

mace=" select a.customerid, abs( sum(a.value)) from cash  a group by a.customerid  having sum(a.value)<0  order by a.customerid "


echo $mace |  /usr/local/bin/psql -A -t -F' ' --no-password  -d lms -U lms  | while read  idd saldo ;
do
il_faktury=`echo "select count(id) from documents where customerid=$idd and type=1 and closed=0  having count(id)>1  " |  /usr/local/bin/psql -A -t -F' ' --no-password  -d lms -U lms `

if  [  "$il_faktury" != ""    ]; then

saldo_100=`echo "scale = 4 ; $saldo * 100 "| bc  | cut -d. -f 1,1`

echo rozliczanie $idd   saldo $saldo

q_suma="select sum(fak.value) from documents a left join invoicecontents fak on a.id = fak.docid where a.type=1 and a.customerid=$idd and a.closed=0"

suma=`echo $q_suma |  /usr/local/bin/psql -A -t -F' ' --no-password  -d lms -U lms `

suma_100=`echo "scale = 4 ; $suma * 100 "| bc | cut -d. -f 1,1 `

#echo $suma_100  $saldo_100
if [  "$suma_100" -gt  "$saldo_100"  ]; then
echo "rozliczam najstarsza fre -=====================- $idd"
rozliczenie="update documents set closed=1 where id= (select a.id from documents a left join invoicecontents fak on a.id = fak.docid where a.type=1 and a.customerid=$idd and a.closed=0   order by a.id  limit 1 )  "
echo $rozliczenie |  /usr/local/bin/psql -A -t -F' ' --no-password  -d lms -U lms

else
echo "brak faktur do rozliczenia id $idd"
fi



else
echo "brak faktur do rozliczen id $idd"
fi

done;


echo rozliczono i zakonczono

-------------------------------------------------------------------------

Pozdrawiam Miłosz


2011/9/1 Rafal <rafal@netsystem.net.pl>
Jest jakas szansa aby wymusić jakim¶ zapytaniem do bazy odznaczenie FV jako zaplaconych osobom co maja saldo na 0 ?
Bo np jak komus rozliczam kwotowo to ok saldo u klienta sie zmniejsza ale jak zobacze na FV to widze ze swieca sie jako nierozliczone
a chciałbym je odznaczyc ale jest tego sporo i nie chce mi sie tego robic recznie

_______________________________________________
lms mailing list
lms@lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms