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