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