     rem --- Формирование книги покупок

     rem --- Удалить содержимое книги покупок
     dkpok = open("kpok")
     for i = 1 to size(dkpok)
        getlast(dkpok)
        delete(dkpok)
     next 

     rem --- Проставим дату оплаты и дату отгрузки в аналитике 60-х счетов

     dp = open("plan")
     for i = 1 to size(dp)
        if i = 1 then getfirst(dp)
        if i != 1 then getnext(dp)
        if substr('Номер'.dp,1,2) = "60" & trim('Расчеты'.dp) != ""
        {
           da = open(trim('Номер'.dp))
           ds = open("s"+trim('Номер'.dp))
           for j = 1 to size(da)
              if j = 1 then getfirst(da)
              if j != 1 then getnext(da)
              if 'Db_оборот'.da != 0.0
              {
                  rem --- Оплата была - проставим дату оплаты
                  if findge(ds,4,3,trim('Номер'.dp),trim('Субсчет'.da),"","") = 0
                  {
                     if trim('Db_расчеты'.ds) = trim('Субсчет'.da)
                     {
                        'Дата опл.'.da = 'Дата'.ds
                        update(da)
                     }
                  }
              }
              if 'Kr_оборот'.da != 0.0
              {
                  rem --- Отгрузка была - проставим дату отгрузки
                  if findge(ds,4,4,trim('Номер'.dp),trim('Субсчет'.da),"","") = 0
                  {
                     if trim('Kr_расчеты'.ds) = trim('Субсчет'.da)
                     {
                        'Дата отгр.'.da = 'Дата'.ds
                        update(da)
                     }
                  }
              }

              rem --- Формируем запись книги покупок
              sopl = 'DbS_начало'.da+'Db_оборот'.da
              spost = 'KrS_начало'.da+'Kr_оборот'.da
              spok = min(sopl,spost)
              if spok != 0
              {
                 rem --- Вставляем запись в книгу покупок
                 clearbuf(dkpok)
                 'Дата'.dkpok = 'Дата с/ф'.da
                 'Номер_док.'.dkpok = 'Счет-факт.'.da          
                 'Дата_опл.'.dkpok = 'Дата опл.'.da          
                 'Дата_опр.'.dkpok = 'Дата отгр.'.da          
                 'Название'.dkpok = 'Название'.da          
                 'ИННП'.dkpok = 'Код'.da
                 'Всего'.dkpok = spok
                 if 'Проц.НДС'.da = 20
                 {
                    'НДС_20'.dkpok = (spok*20)/120
                    'Сумма_20'.dkpok = 'Всего'.dkpok - 'НДС_20'.dkpok
                 }
                 if 'Проц.НДС'.da = 18
                 {
                    'НДС_18'.dkpok = (spok*18)/118
                    'Сумма_18'.dkpok = 'Всего'.dkpok - 'НДС_18'.dkpok
                 }
                 if 'Проц.НДС'.da = 10
                 {
                    'НДС_10'.dkpok = (spok*10)/110
                    'Сумма_10'.dkpok = 'Всего'.dkpok - 'НДС_10'.dkpok
                 }
                 if 'Проц.НДС'.da = 0
                 {
                    'Сумма'.dkpok = 'Всего'.dkpok
                 }
                 insert(dkpok)
              }
           next
           close(ds)
           close(da) 
        }
     next
     close(dp)
     close(dkpok)
     end
