Опер Раб.Рпо.Прочие.Заявка_Закуп="Заявка на закупку"
     (Справ         :S;
      Признак       :S;
      Вал           :S;
      Общ_Призн0    :S;
      Общ_Призн1    :S;
      Общ_Призн2    :S;
      Пре_Общ_Призн0:S;
      Пре_Общ_Призн1:S;
      Пре_Общ_Призн2:S;
      ИсполДокПризн :S;
      РазмещЗаказ   :S;
      Признак_Кмнт  :S;
      ТипИзм        :I;
      Год1          :S;
      Год2          :S;
      Год3          :S;
      Год4          :S;
      Год5          :S;
      Год6          :S;
      Сум1          :N;
      Сум2          :N;
      Сум3          :N;
      Сум4          :N;
      Сум5          :N;
      Сум6          :N;
      Сум_Пре1      :N;
      Сум_Пре2      :N;
      Сум_Пре3      :N;
      Сум_Пре4      :N;
      Сум_Пре5      :N;
      Сум_Пре6      :N;
      СчДеб         :S;
      СчКре         :S;
      СчДеб1        :S;
      СчКре1        :S;
      СчДеб2        :S;
      СчКре2        :S;
      СчДеб3        :S;
      СчКре3        :S;
      Призн         :S;
      ОКДП_Призн    :S;
      МФ            :S;
      ДатаРег       :D;
      ЭтоИзм        :L;
      КБК           :S
      )
   var Признак_:s;
   var Вал_:Валюта;
   var Пер1_:S;
   var Пер2_:S;
   var Пер3_:S;
   var Пер4_:S;
   var Пер5_:S;
   var Пер6_:S;
   var ПерТек_:S;
   var ТекГод_:S;
   var ИсполДокПризн_:S;
   var СОП_:S;
   var Сум1_:N;
   var Сум2_:N;
   var Сум3_:N;
   var Сум_Пре1_:N;
   var Сум_Пре2_:N;
   var Сум_Пре3_:N;
   if not КБК="":
      Признак_=Справ+"."+Признак;
      Вал_=Вал;
      if Вал_="": Вал_=BaseCurrency; fi;
      Пер1_=""; Пер2_=""; Пер3_=""; Пер4_=""; Пер5_=""; Пер6_="";
      if МФ="":    ПерТек_="";
        |МФ="I":   ПерТек_=".1";
        |МФ="II":  ПерТек_=".2";
        |МФ="III": ПерТек_=".3";
        |МФ="IV":  ПерТек_=".4";
        |Int(МФ)>9:ПерТек_=".4."+МФ;
        |Int(МФ)>6:ПерТек_=".3."+МФ;
        |Int(МФ)>3:ПерТек_=".2."+МФ;
        |True:     ПерТек_=".1."+МФ;
      fi;
      ТекГод_=Str(Year(ДатаРег));
      if not Год1="":
         Пер1_="ПЕРИОД."+Год1+if(Год1=ТекГод_,ПерТек_,"");
      fi;
      if not Год2="":
         Пер2_="ПЕРИОД."+Год2+if(Год2=ТекГод_,ПерТек_,"");
      fi;
      if not Год3="":
         Пер3_="ПЕРИОД."+Год3+if(Год3=ТекГод_,ПерТек_,"");
      fi;
      if not Год4="":
         Пер4_="ПЕРИОД."+Год4+if(Год4=ТекГод_,ПерТек_,"");
      fi;
      if not Год5="":
         Пер5_="ПЕРИОД."+Год5+if(Год5=ТекГод_,ПерТек_,"");
      fi;
      if not Год6="":
         Пер6_="ПЕРИОД."+Год6+if(Год6=ТекГод_,ПерТек_,"");
      fi;
      if Length(РазмещЗаказ)=5 or РазмещЗаказ="0":
         СОП_="СОП."+РазмещЗаказ;
        |РазмещЗаказ="":
         СОП_="СОП."+"0";
        |True:
         СОП_="СОП."+СРЗ2СОП(РазмещЗаказ);
         if СОП_="СОП.": СОП_=""; fi;
      fi;
      if СчДеб="":
         if ТекГод_=Год1: Сум1_=Сум1; Сум2_=Сум2; Сум3_=Сум3; Сум_Пре1_=Сум_Пре1; Сум_Пре2_=Сум_Пре2; Сум_Пре3_=Сум_Пре3;
           |ТекГод_=Год2: Сум1_=Сум2; Сум2_=Сум3; Сум3_=Сум4; Сум_Пре1_=Сум_Пре2; Сум_Пре2_=Сум_Пре3; Сум_Пре3_=Сум_Пре4; Пер1_=Пер2_; Пер2_=Пер3_; Пер3_=Пер4_;
           |ТекГод_=Год3: Сум1_=Сум3; Сум2_=Сум4; Сум3_=Сум5; Сум_Пре1_=Сум_Пре3; Сум_Пре2_=Сум_Пре4; Сум_Пре3_=Сум_Пре5; Пер1_=Пер3_; Пер2_=Пер4_; Пер3_=Пер5_;
           |ТекГод_=Год4: Сум1_=Сум4; Сум2_=Сум5; Сум3_=Сум6; Сум_Пре1_=Сум_Пре4; Сум_Пре2_=Сум_Пре5; Сум_Пре3_=Сум_Пре6; Пер1_=Пер4_; Пер2_=Пер5_; Пер3_=Пер6_;
           |ТекГод_=Год5: Сум1_=Сум5; Сум2_=Сум6; Сум3_=0;    Сум_Пре1_=Сум_Пре5; Сум_Пре2_=Сум_Пре6; Сум_Пре3_=0;        Пер1_=Пер5_; Пер2_=Пер6_; Пер3_="";
           |ТекГод_=Год6: Сум1_=Сум6; Сум2_=0;    Сум3_=0;    Сум_Пре1_=Сум_Пре6; Сум_Пре2_=0;        Сум_Пре3_=0;        Пер1_=Пер6_; Пер2_="";    Пер3_="";
           |True:         Сум1_=0;    Сум2_=0;    Сум3_=0;    Сум_Пре1_=0;        Сум_Пре2_=0;        Сум_Пре3_=0;        Пер1_="";    Пер2_="";    Пер3_="";
         fi;
         if not ЭтоИзм:
            :Сум1_^$Вал_  $СчДеб1  $СчКре1 {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер1_ $ОКДП_Призн $СОП_}  -- $Признак_Кмнт
            if Сум2_<>0:
              :Сум2_^$Вал_  $СчДеб2  $СчКре2 {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер2_ $ОКДП_Призн $СОП_}  -- $Признак_Кмнт
            fi;
            if Сум3_<>0:
              :Сум3_^$Вал_  $СчДеб3  $СчКре3 {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер3_ $ОКДП_Призн $СОП_}  -- $Признак_Кмнт
            fi;
         fi;
         if ЭтоИзм:
            ИсполДокПризн_=if(ТипИзм=99,ИсполДокПризн,"");
            if Справ="ПО" and (ТипИзм=-1 or ТипИзм=99):
               :-(Сум1_-Сум_Пре1_)^$Вал_  $СчКре1 $СчДеб1 {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер1_ $ОКДП_Призн $ИсполДокПризн $СОП_}  --Экономия $Признак_Кмнт
               :-(Сум2_-Сум_Пре2_)^$Вал_  $СчКре2 $СчДеб2 {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер2_ $ОКДП_Призн $ИсполДокПризн $СОП_}  --Экономия $Признак_Кмнт
               if Сум3_<> Сум_Пре3_:
                 :-(Сум3_-Сум_Пре3_)^$Вал_  $СчКре3 $СчДеб3 {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер3_ $ОКДП_Призн $ИсполДокПризн $СОП_}  --Экономия $Признак_Кмнт
               fi;
              |True:
               if not Пре_Общ_Призн0=Общ_Призн0 or not Пре_Общ_Призн1=Общ_Призн1 or not Пре_Общ_Призн2=Общ_Призн2:
                  :-Сум_Пре1_^$Вал_  $СчДеб1  $СчКре1 {$Пре_Общ_Призн0 $Пре_Общ_Призн1 $Пре_Общ_Призн2 $Призн $Признак_ $Пер1_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
                  :-Сум_Пре2_^$Вал_  $СчДеб2  $СчКре2 {$Пре_Общ_Призн0 $Пре_Общ_Призн1 $Пре_Общ_Призн2 $Призн $Признак_ $Пер2_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
                  :-Сум_Пре3_^$Вал_  $СчДеб3  $СчКре3 {$Пре_Общ_Призн0 $Пре_Общ_Призн1 $Пре_Общ_Призн2 $Призн $Признак_ $Пер3_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
                  :Сум1_^$Вал_  $СчДеб1  $СчКре1 {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер1_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
                  :Сум2_^$Вал_  $СчДеб2  $СчКре2 {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер2_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
                  :Сум3_^$Вал_  $СчДеб3  $СчКре3 {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер3_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
                 |True:
                  :Сум1_-Сум_Пре1_^$Вал_  $СчДеб1  $СчКре1 {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер1_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
                  :Сум2_-Сум_Пре2_^$Вал_  $СчДеб2  $СчКре2 {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер2_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
                  :Сум3_-Сум_Пре3_^$Вал_  $СчДеб3  $СчКре3 {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер3_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               fi;
            fi;
         fi;
        |True:
         if not ЭтоИзм:
            :Сум1^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер1_ $ОКДП_Призн $СОП_}  -- $Признак_Кмнт
            :Сум2^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер2_ $ОКДП_Призн $СОП_}  -- $Признак_Кмнт
            :Сум3^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер3_ $ОКДП_Призн $СОП_}  -- $Признак_Кмнт
            :Сум4^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер4_ $ОКДП_Призн $СОП_}  -- $Признак_Кмнт
            :Сум5^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер5_ $ОКДП_Призн $СОП_}  -- $Признак_Кмнт
            :Сум6^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер6_ $ОКДП_Призн $СОП_}  -- $Признак_Кмнт
         fi;
         if ЭтоИзм:
            ИсполДокПризн_=if(ТипИзм=99,ИсполДокПризн,"");
            if not Пре_Общ_Призн0=Общ_Призн0 or not Пре_Общ_Призн1=Общ_Призн1 or not Пре_Общ_Призн2=Общ_Призн2:
               :-Сум_Пре1^$Вал_  $СчДеб  $СчКре {$Пре_Общ_Призн0 $Пре_Общ_Призн1 $Пре_Общ_Призн2 $Призн $Признак_ $Пер1_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :-Сум_Пре2^$Вал_  $СчДеб  $СчКре {$Пре_Общ_Призн0 $Пре_Общ_Призн1 $Пре_Общ_Призн2 $Призн $Признак_ $Пер2_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :-Сум_Пре3^$Вал_  $СчДеб  $СчКре {$Пре_Общ_Призн0 $Пре_Общ_Призн1 $Пре_Общ_Призн2 $Призн $Признак_ $Пер3_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :-Сум_Пре4^$Вал_  $СчДеб  $СчКре {$Пре_Общ_Призн0 $Пре_Общ_Призн1 $Пре_Общ_Призн2 $Призн $Признак_ $Пер4_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :-Сум_Пре5^$Вал_  $СчДеб  $СчКре {$Пре_Общ_Призн0 $Пре_Общ_Призн1 $Пре_Общ_Призн2 $Призн $Признак_ $Пер5_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :-Сум_Пре6^$Вал_  $СчДеб  $СчКре {$Пре_Общ_Призн0 $Пре_Общ_Призн1 $Пре_Общ_Призн2 $Призн $Признак_ $Пер6_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :Сум1^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер1_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :Сум2^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер2_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :Сум3^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер3_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :Сум4^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер4_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :Сум5^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер5_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :Сум6^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер6_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
              |True:
               :Сум1-Сум_Пре1^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер1_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :Сум2-Сум_Пре2^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер2_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :Сум3-Сум_Пре3^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер3_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :Сум4-Сум_Пре4^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер4_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :Сум5-Сум_Пре5^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер5_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
               :Сум6-Сум_Пре6^$Вал_  $СчДеб  $СчКре {$Общ_Призн0 $Общ_Призн1 $Общ_Призн2 $Призн $Признак_ $Пер6_ $ОКДП_Призн $ИсполДокПризн $СОП_}  -- $Признак_Кмнт
            fi;
         fi;
      fi;
   fi; --if not КБК="":
Репо; --Заявка_Закуп="Заявка на закупку"

ОПЕР РАБ.ТББ.БАНК.ЗКР_СВОД_УО="Сводная ЗКР - учет обязательств"
 (ДАТАДОК     :D; -- Дата документа
  НОМЕРДОК    :S; -- Номер документа
  ПРИЗН_ЛС    :S;
  ПРИЗН_КНТР  :S;
  ПРИЗН_БО    :S;
  ПРИЗН_ФАИП  :S;
  ПРИЗН_ДОП   :S; -- Дополнительная аналитика
  ПРИЗН_ОБЩ   :S; -- Аналитика таблицы
  ДОК_НАЗНПЛ  :S; -- Назначение платежа (из раздела 1)(как комметарий)
  НАЗНПЛ      :S; -- Назначение платежа (из раздела 2)(как комметарий) - у этого приоритет если заполнен
  ТипКБК      :S;
  КБК         :S;
  СУМ         :N;
  СЧДЕБ_БУХ   :S;
  СЧКРЕ_БУХ   :S;
  ПРОВОДИТЬ   :L;
  ПРОВОДКИ_КР :L;
  КАКБО       :L; -- Формирование проводки БО
  КАКДО       :L  -- Формирование проводки ДО
 )
 var Проведено  :L;
 var AccD       :S;
 var AccC       :S;
 var AccD_BO    :S;
 var AccC_BO    :S;
 var AccC_DO    :S;
 var ВД         :S;
 var БК         :S;
 var КОСГУ      :S;
 var ОпрТекст   :S;
 var Коммент    :S;
 var TryWork    :L;

 AccD=""; AccC=""; AccD_BO=""; AccC_BO=""; AccC_DO=""; БК=""; ВД=""; КОСГУ="";
 Проведено = ((Проводить and not Проводки_КР) or (not Проводить and Проводки_КР));
 if not Name_S(СЧДЕБ_БУХ)=" " and not Name_S(СЧКРЕ_БУХ)=" ":
   if НазнПл<>"" and НазнПл<>" ": Коммент=НазнПл; | True: Коммент=Док_НазнПл; fi;
   if not Проведено:
     AccC=ЗаменаСч5(СЧКРЕ_БУХ, "ЗАБ.КР", ДатаДок);
     if СЧДЕБ_БУХ=СЧКРЕ_БУХ: AccD=AccC; |True: AccD=ЗаменаСч5(СЧДЕБ_БУХ, "ЗАБ.00", ДатаДок); fi;
     if СЧДЕБ_БУХ=СЧКРЕ_БУХ:  fi;
     if not Name_S(AccD)=" " and not Name_S(AccC)=" ":
       ОпрТекст="ОПЕР";
       :   Сум   $AccD $AccC {$ПРИЗН_ЛС $ПРИЗН_БО $ПРИЗН_КНТР $ПРИЗН_ФАИП $ПРИЗН_ДОП $ОпрТекст} --ЗКР №$НомерДок от $ДатаДок $Коммент
     fi;
   fi;
   if (КакБО or КакДО) and ТипКБК="10" and ДатаДок>=1.1.2016:
     --*.1.???.??.???
     --43210987654321
     ВД=SubStr(СЧКРЕ_БУХ, Length(СЧКРЕ_БУХ)-11, 1);
     if Pos(".", КБК) = 0:
     --03101010390059244226
     --12345678901234567890
       if Length(КБК)=20:
         БК    = SubStr(КБК, 1, 3)+"."+SubStr(КБК, 4, 4)+"."+SubStr(КБК, 8, 7)+"."+SubStr(КБК, 15, 3);
         КОСГУ = SubStr(КБК, 18, 3);
       fi;
     |True:
     --0310.1010390059.244.226
     --12345678901234567890123
       if Length(КБК)=23:
         БК    = SubStr(КБК,  1, 19);
         КОСГУ = SubStr(КБК, 21,  3);
       fi;
     fi;
     TryWork=False;
     if БК<>"" and ВД<>"" and КОСГУ<>"":
       if ВД="1":
         AccD_BO = БК + ".1.501.13." + КОСГУ;
         AccC_BO = БК + ".1.502.11." + КОСГУ;
         AccC_DO = БК + ".1.502.12." + КОСГУ;
         TryWork=True;
       | not ВД="3":
         AccD_BO = БК + "." + ВД + ".506.10." + КОСГУ;
         AccC_BO = БК + "." + ВД + ".502.11." + КОСГУ;
         AccC_DO = БК + "." + ВД + ".502.12." + КОСГУ;
         TryWork=True;
       fi;
     fi;
     if TryWork:
       ОпрТекст=if(Проведено, "", "ОПЕР");
       -- Нужно ли здесь учитывать признаки указанные в качестве дополнительных срезов учета в таблице раздела 2 ?
       if КакБО:
         :   Сум   $AccD_BO $AccC_BO {$ПРИЗН_ЛС $ПРИЗН_БО $ПРИЗН_КНТР $ПРИЗН_ФАИП $ПРИЗН_ДОП $ПРИЗН_ОБЩ $ОпрТекст} --ЗКР №$НомерДок от $ДатаДок $Коммент
       fi;
       if КакДО:
         :   Сум   $AccC_BO $AccC_DO {$ПРИЗН_ЛС $ПРИЗН_БО $ПРИЗН_КНТР $ПРИЗН_ФАИП $ПРИЗН_ДОП $ПРИЗН_ОБЩ $ОпрТекст} --ЗКР №$НомерДок от $ДатаДок $Коммент
       fi;
     fi;
   fi;
 fi;
РЕПО; --РАБ.ТББ.БАНК.ЗКР_СВОД_УО="Сводная ЗКР - учет обязательств"

ОПЕР РАБ.ТББ.БАНК.ЗКР_СВОД_КР="Сводная ЗКР - кассовый расход (проводки в бланке, а не в ПП)"
 (ДАТАДОК     :D; -- Дата документа
  НОМЕРДОК    :S; -- Номер документа
  ПРИЗН_ЛС    :S;
  ПРИЗН_КНТР  :S;
  ПРИЗН_БО    :S;
  ПРИЗН_ФАИП  :S;
  ПРИЗН_ДОП   :S; -- Дополнительная аналитика
  ПРИЗН_ОБЩ   :S; -- Аналитика таблицы
  ДОК_НАЗНПЛ  :S; -- Назначение платежа (из раздела 1)(как комметарий)
  НАЗНПЛ      :S; -- Назначение платежа (из раздела 2)(как комметарий) - у этого приоритет если заполнен
  СУМ         :N;
  СЧДЕБ_БУХ   :S;
  СЧКРЕ_БУХ   :S;
  ПРОВОДИТЬ   :L;
  ПРОВОДКИ_КР :L
 )
 var Проведено  :L;
 var ВД_        :S;
 var СЧ_        :S;
 var СЧ201      :L;
 var ll         :I;
 var Коммент    :S;

 Проведено = ((Проводить and not Проводки_КР) or (not Проводить and Проводки_КР));
 if not Name_S(СЧДЕБ_БУХ)=" " and not Name_S(СЧКРЕ_БУХ)=" ":
   if НазнПл<>"" and НазнПл<>" ": Коммент=НазнПл; | True: Коммент=Док_НазнПл; fi;
   if Match(СЧКРЕ_БУХ, "*.201.??.???"):
     --*.1.???.??.???
     --43210987654321
     ll=Length(СЧКРЕ_БУХ);
     if ЕстьСправочник_Наборе("ВД.@", ПРИЗН_ДОП) or ЕстьСправочник_Наборе("ВД.@", ПРИЗН_ОБЩ):
       ВД_="";
     |True:
       ВД_=SubStr(СЧКРЕ_БУХ, ll-11, 1);
       ВД_="ВД."+ВД_;
     fi;
     СЧ_=SubStr(СЧКРЕ_БУХ, ll-09, 6);
     СЧ_="СЧ."+СЧ_;
     СЧ201=True;
   | True:
     СЧ_="";
     ВД_="";
     СЧ201=False;
   fi;
   if Проведено:
     :   Сум   $СЧДЕБ_БУХ $СЧКРЕ_БУХ {$ПРИЗН_ЛС $ПРИЗН_БО $ПРИЗН_КНТР $ПРИЗН_ФАИП $ПРИЗН_ДОП $ПРИЗН_ОБЩ} --ЗКР №$НомерДок от $ДатаДок $Коммент
     if СЧ201:
       :   Сум ЗАБ.18 ЗАБАЛАНС {$ПРИЗН_ЛС $ПРИЗН_БО $ПРИЗН_КНТР $ПРИЗН_ФАИП $ПРИЗН_ДОП $ПРИЗН_ОБЩ $ВД_ $СЧ_} --ЗКР №$НомерДок от $ДатаДок $Коммент
     fi;
   fi;
 fi;
РЕПО; --РАБ.ТББ.БАНК.ЗКР_СВОД_УО="Сводная ЗКР - кассовый расход (временно, по флагу)"

ОПЕР РАБ.ТББ.БАНК.ВЫПИСКА_АДБ = "Выписка администратора доходов бюджета"
 (ДАТ_ДОК     :D; -- Дата документа
  НОМ_БУМ     :S; -- Номер документа
  ПРИЗН_ЛС    :S;
  ANA_КОНТР   :S;
  ПРИЗНП      :S; -- Аналитика таблицы
  ВОЗВРК      :L;
  СЧДЕБ_БУХ   :S;
  СЧКРЕ_БУХ   :S;
  СЧД_Н_БУХ   :S;
  СЧК_Н_БУХ   :S;
  СЧД_БУХ_В   :S;
  СЧК_БУХ_В   :S;
  СЧК_2_БУХ   :S;
  СУММАП      :N;
  СОДЕРЖАНИЕ  :S;
  ИСКЛВ       :L;
  ИСКЛН       :L;
  УЧЕТНАЧИС   :L;
  ПОСТ_21004  :L;
  ПРОВОДИТЬ   :L
 )

 var N_SUM :N;
 var N_TXT :S;

 if ПРОВОДИТЬ:
   N_SUM = if(ВОЗВРК, -СУММАП, СУММАП);
   N_TXT = if(ВОЗВРК, "сторно начисления дохода", "начисление дохода");
   if not ИСКЛВ:
     if ВОЗВРК:
       if not Name_S(СЧД_БУХ_В)=" " and not Name_S(СЧК_БУХ_В)=" ":
         :   СУММАП   $СЧД_БУХ_В $СЧК_БУХ_В {$ПРИЗН_ЛС $ANA_КОНТР $ПРИЗНП} --Выписка АДБ (возврат поступления дохода) №$НОМ_БУМ от $ДАТ_ДОК $СОДЕРЖАНИЕ
       fi;
     | True:
       if ПОСТ_21004:
         if not Name_S(СЧК_2_БУХ)=" " and not Name_S(СЧКРЕ_БУХ)=" ":
           :   СУММАП   $СЧК_2_БУХ $СЧКРЕ_БУХ {$ПРИЗН_ЛС $ANA_КОНТР $ПРИЗНП} --Выписка АДБ (поступление дохода 210.04) №$НОМ_БУМ от $ДАТ_ДОК $СОДЕРЖАНИЕ
         fi;
       | True:
         if not Name_S(СЧДЕБ_БУХ)=" " and not Name_S(СЧКРЕ_БУХ)=" ":
           :   СУММАП   $СЧДЕБ_БУХ $СЧКРЕ_БУХ {$ПРИЗН_ЛС $ANA_КОНТР $ПРИЗНП} --Выписка АДБ (поступление дохода) №$НОМ_БУМ от $ДАТ_ДОК $СОДЕРЖАНИЕ
         fi;
       fi;
     fi;
     if УчетНачис:
       if not ИСКЛН:
         if not Name_S(СЧД_Н_БУХ)=" " and not Name_S(СЧК_Н_БУХ)=" ":
           :   N_SUM   $СЧД_Н_БУХ $СЧК_Н_БУХ {$ПРИЗН_ЛС $ANA_КОНТР $ПРИЗНП} --Выписка АДБ ($N_TXT) №$НОМ_БУМ от $ДАТ_ДОК $СОДЕРЖАНИЕ
         fi;
       fi;
     fi;
   fi;
 fi;
РЕПО; --РАБ.ТББ.БАНК.ВЫПИСКА_АДБ = "Выписка администратора доходов бюджета"

ОПЕР РАБ.ТББ.БАНК.ВЫПИСКА_АДБ_21004 = "Выписка АДБ списание 210.04"
 (ДАТ_ДОК     :D; -- Дата документа
  НОМ_БУМ     :S; -- Номер документа
  ДАТ_21004   :D;
  ПРИЗН_ЛС    :S;
  ANA_КОНТР   :S;
  ПРИЗНП      :S; -- Аналитика таблицы
  СЧД_2_БУХ   :S;
  СЧК_2_БУХ   :S;
  СУММАП      :N;
  СОДЕРЖАНИЕ  :S;
  ИСКЛВ       :L;
  ПОСТ_21004  :L;
  СПИС_21004  :L;
  ПРОВОДИТЬ   :L
 )

 if ПРОВОДИТЬ and ПОСТ_21004 and СПИС_21004:
   if not ИСКЛВ:
     if not Name_S(СЧД_2_БУХ)=" " and not Name_S(СЧК_2_БУХ)=" ":
        :   СУММАП   $СЧД_2_БУХ $СЧК_2_БУХ {$ПРИЗН_ЛС $ANA_КОНТР $ПРИЗНП} --Выписка АДБ (списание дохода 210.04) №$НОМ_БУМ от $ДАТ_ДОК $СОДЕРЖАНИЕ
     fi;
   fi;
 fi;

РЕПО; --РАБ.ТББ.БАНК.ВЫПИСКА_АДБ_21004 = "Выписка АДБ списание 210.04"

ОПЕР РАБ.ТББ.БАНК.ВЫПИСКА_ЛС = "Выписка поступлений на лицевой счет"
 (ДАТ_ДОК       :D; -- Дата документа
  НОМ_БУМ       :S; -- Номер документа
  НАШЕ_ПРИЗН_ЛС :S;
  ВЫП_ЛС        :S;
  ANA_КОНТР     :S;
  ПРИЗНП        :S; -- Аналитика таблицы
  П_СЧДЕБ       :S;
  П_СЧКРЕ       :S;
  СУММАП        :N;
  СОДЕРЖАНИЕ    :S;
  ИСКЛ_П        :L;
  ПРОВОДИТЬ     :L
 )

 if ПРОВОДИТЬ:
   if not ИСКЛ_П:
     if not Name_S(П_СЧДЕБ)=" " and not Name_S(П_СЧКРЕ)=" ":
       :   СУММАП     $П_СЧДЕБ     $П_СЧКРЕ   {$НАШЕ_ПРИЗН_ЛС $ANA_КОНТР $ПРИЗНП} --Поступления на ЛС $ВЫП_ЛС  №$НОМ_БУМ от $ДАТ_ДОК $СОДЕРЖАНИЕ
     fi;
   fi;
 fi;

РЕПО; --РАБ.ТББ.БАНК.ВЫПИСКА_ЛС = "Выписка поступлений на лицевой счет"

ОПЕР РАБ.ТББ.ПровСФ_ ="Проводки к счетам-фактурам"
 (Аналит   :S;        -- аналитические признаки
  Признак   :S;       -- аналитические признаки
  --СУММА   :N;        -- сумма
  СЧ_Д   :S;        -- аналитические признаки
  СЧ_К   :S;        -- аналитические признаки
  НомерБум :S;
  АнКод :S;
  Дата: D;

  КМНТ:S)        -- аналитические признаки
  var кмн_:S;
  кмн_ = "Авансовый счет-фактура N"+НомерБум+" от " + Str(Day(Дата))+"."+Str(Mon(Дата))+"."+Str(Year(Дата));
  :   СУММА   $СЧ_Д $СЧ_К {$Признак СФ.$АнКод}   -- $кмн_ $КМНТ
РЕПО;

ОПЕР РАБ.ТББ.Эквайр ="Эквайринг"
 (Аналитика   :S;        -- аналитические признаки
  Аналитика_Ком:S;
  СЧ_БАНК_Д   :S;        -- аналитические признаки
  СЧ_ДОХ_К   :S;        -- аналитические признаки
  СЧ_КОММ_Д   :S;        -- аналитические признаки
  СЧ_БАНК_К   :S;        -- аналитические признаки
  --Сумма   :N;        -- аналитические признаки
  Сум_ком   :N;        -- аналитические признаки
  КМНТ_ПОЗ:S;
  КОМ_СЧ_РАСХ:S;
  КМНТ:S)        -- аналитические признаки
  var КОСГУ_:S;
  var l:I;
  var БК_:S;
  var СЧ_КОММ_К_   :S;
  var СЧ_КОМР_Д_   :S;

  --ПРОВЕРКА ПО ТИПУ КБК!!!
  l = Length(СЧ_ДОХ_К);
  КОСГУ_="1" + SubStr(СЧ_ДОХ_К,l-5,2);
  --109876543210
  --2.205.31.560
  if SubStr(СЧ_ДОХ_К,l-11,1) = '1':
    БК_ = "КД." + SubStr(СЧ_ДОХ_К,1,l-13);
  |True:
    БК_ = "БК." + SubStr(СЧ_ДОХ_К,1,l-13);
  fi;
  :   СУММА   $СЧ_БАНК_Д $СЧ_ДОХ_К {$Аналитика КОСГУ.$КОСГУ_ $БК_}   -- $КМНТ $КМНТ_ПОЗ
  if Сум_ком > 0:
    КОСГУ_= SubStr(СЧ_КОММ_Д,27,2);
    if SubStr(СЧ_КОММ_Д,1,21) = "1":
      БК_ = "КР." + SubStr(СЧ_КОММ_Д,1,19);
    |True:
      БК_ = "БК." + SubStr(СЧ_КОММ_Д,1,19);
    fi;
    КОСГУ_ = Ан2КОСГУ(КОСГУ_);
    :   Сум_ком   $СЧ_КОММ_Д $СЧ_БАНК_К {$Аналитика_Ком КОСГУ.$КОСГУ_ $БК_}   -- $КМНТ $КМНТ_ПОЗ
    if КОМ_СЧ_РАСХ<> '' and КОМ_СЧ_РАСХ <> 'НЕ НАЧИСЛЯТЬ':
      СЧ_КОММ_К_ = ПереворотКосгу(СЧ_КОММ_Д);
      СЧ_КОМР_Д_ = SubStr(СЧ_КОММ_Д,1,21) + "." + КОМ_СЧ_РАСХ + "." + КОСГУ_;
      :   Сум_ком   $СЧ_КОМР_Д_ $СЧ_КОММ_К_ {$Аналитика_Ком КОСГУ.$КОСГУ_ $БК_}   -- $КМНТ $КМНТ_ПОЗ

    fi;

  fi;
РЕПО;