rem +
rem Сформировать книгу покупок для счета 60
rem в s60.btr Kr_счета = 60

rem Перед заполнением книги покупок удалить из нее все записи, где
rem Дата_опл. непуста и Дата < содержимое tdata.btr (месяц и год)
        dtdata = open("tdata")
        getfirst(dtdata)
        TData = substr('Тек.дата'.dtdata,1,6) rem год и месяц

        flag_delete = 0
        d = open("kpok")
        for i = 1 to size(d)
                if i = 1 then getfirst(d)
rem                if i != 1 & flag_delete = 0 then getnext(d)
rem    if 'Дата_опл.'.d != "        " & substr('Дата_док.'.d,1,6) < TData then goto 10
rem         goto 20
rem 10                        delete(d)
rem                        flag_delete = 1
rem                          goto 30
rem 20                      flag_delete = 0
rem 3 0        next

rem Формирование книги покупок
       d1 = open("60-1")
       ds1 = open("s60-1")
       ds2 = open("s19-1")
rem    Идем по файлу s60 и ищем записи, т.ч. Db_счета = 60
     putkey(ds1,3)
         Doc2 = " "
         Dat2 = "       "
         data_opl = "        "
         getfirst(ds1)
         Kredit2 = trim('Kr_расчеты'.ds1)
 
       for i = 1 to size(ds1)
          if i = 1 then getfirst(ds1)
          if i != 1 then getnext(ds1)
          if trim('Kr_счета'.ds1) != "60-1" then goto 100

rem       Найдена запись, т.ч. Kr_счета = 60
rem       WorkPlace = 'Раб.место'.ds1
     if trim('Db_счета'.ds1)="41" then goto 200
        goto 100
200       Document = 'Документ'.ds1
          Dat = 'Дата'.ds1
          Kredit = trim('Kr_расчеты'.ds1)
        if Document = Doc2 & Dat = Dat2 & Kredit = Kredit2 then goto 800
             goto 850 
800         Sum = Sum + 'Сумма'.ds1
             goto 900
850         Sum = 'Сумма'.ds1
        
900       Debet = trim('Db_расчеты'.ds1)
          Kredit = trim('Kr_расчеты'.ds1)
          Deb = trim('Db_счета'.ds1)
          Kr = trim('Kr_счета'.ds1)
rem       Идем по 1 индексу файла 60 (Субсчет) и ищем записи,
rem       т.ч. Субсчет.60 = Kr_расчеты.s60
          if Find(d1,1,1,Kredit) != 0 then goto 100
          Code = 'Код'.d1
          Name = 'Название'.d1
          if 'DbS_конец'.d1 = 0 & 'KrS_конец'.d1 = 0 then goto 350
           goto 450 
350           opl = 1
           goto 550 
450           opl = 0
              print "Не найдена оплата по док. ",Document
           
550       if Find(ds2,4,4,Kr,Kredit,Dat,Document) != 0 then goto 400
          NDS_10 = 'Сумма'.ds2
          SUM_10 = Sum
          SUM_0 = 0
400          if Document = Doc2 & Dat = Dat2 & Kredit = Kredit2  then goto 650
                goto 750
650              'Сумма_10'.d = SUM_10
                  'Сумма_0'.d = SUM_0
                  'Всего'.d = Sum + NDS_10
                  update(d)
                  goto 150
               
          rem Добавляем запись в книгу покупок
750           clearbuf(d)
rem       'Раб.место'.d = WorkPlace
          'Номер_док.'.d = Document
          'Дата'.d = Dat
          'Всего'.d = Sum + NDS_10
          'ИННП'.d = Code
          'Название'.d = Name
          'Дата_опл.'.d = data_opl
          'НДС_10'.d = NDS_10
          'Сумма_10'.d = SUM_10
          'Сумма_0'.d = SUM_0
          'Экспорт'.d = 0
          rem 'НДС_16,67'.d = 0
rem          'Сумма_5'.d = 0
          insert(d)
150       Doc2 = Document
          Kredit2 = Kredit
          Dat2 = Dat
100   next
      close(d1)         rem закрыли 60.btr
      close(ds1)        rem закрыли s60.btr


      close(d)         rem закрыли kpok.btr
      close(ds2)        rem закрыли s19.btr
      end
