/*$Id: iceb_t_pbp.c,v 5.20 2013/05/17 14:56:29 sasa Exp $*/
/*23.04.2008	18.03.2008	Белых А.И.	iceb_t_pbpf.c
Проверка заблокированы ли даты по которым сделаны проводки к документу
Применяется перед удалением документа
Если вернули 0-проводки не заблокированы
             1-хотябы одна проводка заблокирована
*/
#include "bezcurses.h"


int iceb_t_pbp(int metka_ps,short dd,short md,short gd,const char *nomdok,
int pod,int tipz,const char *soob)
{
char kto[64];
memset(kto,'\0',sizeof(kto));

iceb_t_mpods(metka_ps,kto); /*получение символьной метки подсистемы*/

return(iceb_t_pbp(kto,dd,md,gd,nomdok,pod,tipz,soob));

}
/************************/
/*******************************/

int iceb_t_pbp(const char *kto,short dd,short md,short gd,const char *nomdok,
int pod,int tipz,const char *soob)
{
return(iceb_t_pbp(kto,dd,md,gd,nomdok,pod,tipz,soob,0));

}

/****************************************/
int iceb_t_pbp(const char *kto,short dd,short md,short gd,const char *nomdok,
int pod,int tipz,const char *soob,int metka_soob) /*0-выдать сообщение 1-не выдавать*/
{
char		strsql[1024];

SQL_str row;
class SQLCURSOR cur;
int kolstr=0;

sprintf(strsql,"select distinct datp,sh,shk from Prov where kto='%s' and pod=%d \
and nomd='%s' and datd = '%04d-%02d-%02d' and tz=%d and deb <> 0.",
kto,pod,nomdok,gd,md,dd,tipz);

if((kolstr=cur.make_cursor(&bd,strsql)) < 0)
 {
  iceb_t_msql_error(&bd,"",strsql);
  return(1);
 }
short d,m,g;

while(cur.read_cursor(&row) != 0)
 {
  iceb_tu_rsdat(&d,&m,&g,row[0],2);
  if(iceb_t_pblok(m,g,ICEB_PS_GK) != 0)
   {
    if(metka_soob != 0)
     {
      printf("%s %d.%d %s!\n",gettext("Проводки на дату "),m,g,gettext("заблокированы"));
      if(soob[0] != '\0')
        printf("%s\n",soob);
     }
    return(1);  
   }
  if(iceb_t_pbsh(m,g,row[1],row[2],"") != 0)
   return(1);
 }

return(0);
}
